* SerializationCodeGenerator.cs: Generate an integer for unknown enum values.
[mono.git] / mcs / class / System.XML / System.Xml.Serialization / XmlArrayAttribute.cs
1 //
2 // XmlArrayAttribute.cs: 
3 //
4 // Author:
5 //   John Donagher (john@webmeta.com)
6 //
7 // (C) 2002 John Donagher
8 //
9
10 using System.Xml.Schema;\r
11 using System;\r
12 \r
13 namespace System.Xml.Serialization\r
14 {\r
15         /// <summary>\r
16         /// Summary description for XmlArrayAttribute.\r
17         /// </summary>\r
18         [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field\r
19         | AttributeTargets.Parameter | AttributeTargets.ReturnValue)]\r
20         public class XmlArrayAttribute : Attribute\r
21         {\r
22                 private string elementName;\r
23                 private XmlSchemaForm form;\r
24                 private bool isNullable;\r
25                 private string ns;\r
26 \r
27                 public XmlArrayAttribute()\r
28                 {\r
29                 }\r
30 \r
31                 public XmlArrayAttribute(string elementName)\r
32                 {\r
33                         ElementName = elementName;\r
34                 }\r
35 \r
36                 public string ElementName \r
37                 {\r
38                         get\r
39                         {\r
40                                 return elementName;\r
41                         } \r
42                         set\r
43                         {\r
44                                 elementName = value;\r
45                         }\r
46                 }\r
47                 public XmlSchemaForm Form \r
48                 {\r
49                         get\r
50                         {\r
51                                 return form;\r
52                         } \r
53                         set\r
54                         {\r
55                                 form = value;\r
56                         }\r
57                 }\r
58                 public bool IsNullable \r
59                 {\r
60                         get\r
61                         {\r
62                                 return isNullable;\r
63                         } \r
64                         set\r
65                         {\r
66                                 isNullable = value;\r
67                         }\r
68                 }\r
69                 public string Namespace \r
70                 {\r
71                         get\r
72                         {\r
73                                 return ns;\r
74                         } \r
75                         set\r
76                         {\r
77                                 ns = value;\r
78                         }\r
79                 }\r
80                 \r
81                 internal void AddKeyHash (System.Text.StringBuilder sb)\r
82                 {\r
83                         sb.Append ("XAAT ");\r
84                         KeyHelper.AddField (sb, 1, ns);\r
85                         KeyHelper.AddField (sb, 2, elementName);\r
86                         KeyHelper.AddField (sb, 3, form.ToString(), XmlSchemaForm.None.ToString());\r
87                         KeyHelper.AddField (sb, 4, isNullable);\r
88                         sb.Append ('|');\r
89                 }\r
90         }\r
91 }\r