X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=mcs%2Fclass%2FSystem.XML%2FSystem.Xml.Serialization%2FXmlAttributeAttribute.cs;h=f389dc668087ca50a807057e04d397e1df25fa16;hb=f0d2ee46f839cc3cebcdaa674b3a31d9a3e22863;hp=496633e4df250bbc5c11f84878c0849cb3be0313;hpb=95d2d48bb394f76e9e1fe5056edde8fcdc49bc28;p=mono.git diff --git a/mcs/class/System.XML/System.Xml.Serialization/XmlAttributeAttribute.cs b/mcs/class/System.XML/System.Xml.Serialization/XmlAttributeAttribute.cs index 496633e4df2..f389dc66808 100644 --- a/mcs/class/System.XML/System.Xml.Serialization/XmlAttributeAttribute.cs +++ b/mcs/class/System.XML/System.Xml.Serialization/XmlAttributeAttribute.cs @@ -7,98 +7,109 @@ // (C) 2002 John Donagher // -using System.Xml.Schema; -using System; - -namespace System.Xml.Serialization -{ - /// - /// Summary description for XmlAttributeAttribute. - /// - [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field - | AttributeTargets.Parameter | AttributeTargets.ReturnValue)] - public class XmlAttributeAttribute : Attribute - { - private string attributeName; - private string dataType; - private Type type; - private XmlSchemaForm form; - private string ns; - - public XmlAttributeAttribute () - { - } - - public XmlAttributeAttribute (string attributeName) - { - AttributeName = attributeName; - } - - public XmlAttributeAttribute (Type type) - { - Type = type; - } - - public XmlAttributeAttribute (string attributeName, Type type) - { - AttributeName = attributeName; - Type = type; - } - - public string AttributeName { +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +using System.Xml.Schema; +using System; + +namespace System.Xml.Serialization +{ + /// + /// Summary description for XmlAttributeAttribute. + /// + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field + | AttributeTargets.Parameter | AttributeTargets.ReturnValue)] + public class XmlAttributeAttribute : Attribute + { + private string attributeName; + private string dataType; + private Type type; + private XmlSchemaForm form; + private string ns; + + public XmlAttributeAttribute () + { + } + + public XmlAttributeAttribute (string attributeName) + { + this.attributeName = attributeName; + } + + public XmlAttributeAttribute (Type type) + { + this.type = type; + } + + public XmlAttributeAttribute (string attributeName, Type type) + { + this.attributeName = attributeName; + this.type = type; + } + + public string AttributeName { get { + if (attributeName == null) { + return string.Empty; + } return attributeName; - } - set { - attributeName = value; - } - } - public string DataType { + } + set { attributeName = value; } + } + + public string DataType { get { + if (dataType == null) { + return string.Empty; + } return dataType; - } - set { - dataType = value; - } - } - public XmlSchemaForm Form { - get { - return form; - } - set { - form = value; - } - } - public string Namespace { - get { - return ns; - } - set { - ns = value; - } - } - - public Type Type - { - get - { - return type; - } - set - { - type = value; - } - } - - internal bool InternalEquals (XmlAttributeAttribute other) - { - if (other == null) return false; - - return (attributeName == other.attributeName && - dataType == other.dataType && - type == other.type && - form == other.form && - ns == other.ns); - } - } -} + } + set { dataType = value; } + } + + public XmlSchemaForm Form { + get { return form; } + set { form = value; } + } + + public string Namespace { + get { return ns; } + set { ns = value; } + } + + public Type Type { + get { return type; } + set { type = value; } + } + + internal void AddKeyHash (System.Text.StringBuilder sb) + { + sb.Append ("XAA "); + KeyHelper.AddField (sb, 1, ns); + KeyHelper.AddField (sb, 2, attributeName); + KeyHelper.AddField (sb, 3, form.ToString(), XmlSchemaForm.None.ToString()); + KeyHelper.AddField (sb, 4, dataType); + KeyHelper.AddField (sb, 5, type); + sb.Append ('|'); + } + } +}