2006-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[mono.git] / mcs / class / System.Web / System.Web.UI / ToolboxDataAttribute.cs
index cc8565f33b090d6ed47db701c73202910f8889d5..a0bd041e83f67a9501de523b98216ce3407816b1 100644 (file)
@@ -1,4 +1,3 @@
-
 //
 // Permission is hereby granted, free of charge, to any person obtaining
 // a copy of this software and associated documentation files (the
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
-/**\r
- * Namespace: System.Web.UI\r
- * Class:     ToolboxDataAttribute\r
- *\r
- * Author:  Gaurav Vaish\r
- * Maintainer: gvaish@iitk.ac.in\r
- * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>\r
- * Implementation: yes\r
- * Status:  100%\r
- *\r
- * (C) Gaurav Vaish (2002)\r
- */\r
-\r
-using System;\r
-\r
-namespace System.Web.UI\r
-{\r
-       [AttributeUsage(AttributeTargets.Class)]\r
-       public sealed class ToolboxDataAttribute : Attribute\r
-       {\r
-               public static readonly ToolboxDataAttribute Default = new ToolboxDataAttribute("");\r
-\r
-               private string data;\r
-\r
-               public ToolboxDataAttribute(string data)\r
-               {\r
-                       this.data = data;\r
-               }\r
-\r
-               public string Data\r
-               {\r
-                       get\r
-                       {\r
-                               return data;\r
-                       }\r
-               }\r
-\r
-               public override bool IsDefaultAttribute()\r
-               {\r
-                       return Default.Equals(this);\r
-               }\r
-\r
-               public override bool Equals(object obj)\r
-               {\r
-                       if(obj != null && obj is ToolboxDataAttribute)\r
-                       {\r
-                               ToolboxDataAttribute tda = (ToolboxDataAttribute)obj;\r
-                               return (tda.Data == Data);\r
-                       }\r
-                       return false;\r
-               }\r
-\r
-               public override int GetHashCode()\r
-               {\r
-                       return base.GetHashCode();\r
-               }\r
-       }\r
-}\r
+//
+// System.Web.UI.ToolboxDataAttribute.cs
+//
+// Authors:
+//     Jackson Harper (jackson@ximian.com)
+//
+// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+
+using System.Security.Permissions;
+
+namespace System.Web.UI {
+
+       // CAS - no InheritanceDemand here as the class is sealed
+       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
+       // attributes
+       [AttributeUsage(AttributeTargets.Class)]
+       public sealed class ToolboxDataAttribute : Attribute {
+
+               public static readonly ToolboxDataAttribute Default = new ToolboxDataAttribute (String.Empty);
+
+               private string data;
+
+               public ToolboxDataAttribute (string data)
+               {
+                       this.data = data;
+               }
+
+               public string Data {
+                       get { return data; }
+               }
+
+               public override bool Equals (object obj)
+               {
+                       ToolboxDataAttribute other = obj as ToolboxDataAttribute;
+                       if (other == null)
+                               return false;
+                       return other.Data == data;
+               }
+
+               public override int GetHashCode ()
+               {
+                       if (data == null)
+                               return -1;
+                       return data.GetHashCode ();
+               }
+
+               public override bool IsDefaultAttribute ()
+               {
+#if NET_2_0
+                       return ((data == null) || (data.Length == 0));
+#else
+                       return ((data != null) && (data.Length == 0));
+#endif
+               }
+       }
+}
+
+