Dont make function call to StringBuffer
[mono.git] / mcs / class / System.XML / System.Xml / XmlEntity.cs
1 //
2 // System.Xml.XmlEntity.cs
3 //
4 // Author:
5 //      Duncan Mak  (duncan@ximian.com)
6 //
7 // (C) Ximian, Inc.
8 //
9
10 namespace System.Xml
11 {
12         public class XmlEntity : XmlNode
13         {
14                 #region Constructors
15
16                 internal XmlEntity (string name, string NDATA, string publicId, string systemId,
17                                     XmlDocument doc)
18                         : base (doc)
19                 {
20                         this.name = name;
21                         this.NDATA = NDATA;
22                         this.publicId = publicId;
23                         this.systemId = systemId;
24                         this.baseUri = doc.BaseURI;
25                 }
26
27                 #endregion
28                 
29                 #region Fields
30
31                 string name;
32                 string NDATA;
33                 string publicId;
34                 string systemId;
35                 string baseUri;
36                 XmlLinkedNode lastChild;
37
38                 #endregion
39
40                 #region Properties
41
42                 public override string BaseURI {
43                         get {  return baseUri; }
44                 }
45
46                 public override string InnerText {
47                         get { return base.InnerText; }
48                         set { throw new InvalidOperationException ("This operation is not supported."); }
49                 }
50
51                 public override string InnerXml {
52                         get { return String.Empty; }
53                         set { throw new InvalidOperationException ("This operation is not supported."); }
54                 }
55
56                 public override bool IsReadOnly {
57                         get { return true; } // always read-only.
58                 }
59
60                 internal override XmlLinkedNode LastLinkedChild {
61                         get { return lastChild; }
62
63                         set { lastChild = value; }
64                 }
65
66                 public override string LocalName {
67                         get { return name; }
68                 }
69
70                 public override string Name {
71                         get { return name; }
72                 }
73
74                 public override XmlNodeType NodeType {
75                         get { return XmlNodeType.Entity; }
76                 }
77
78                 public string NotationName {
79                         get {
80                                 if (NDATA == null)
81                                         return null;
82                                 else
83                                         return NDATA;
84                         }
85                 }
86
87                 public override string OuterXml {
88                         get { return String.Empty; }
89                 }
90
91                 public string PublicId {
92                         get {
93                                 if (publicId == null)
94                                         return null;
95                                 else
96                                         return publicId;
97                         }
98                 }
99
100                 public string SystemId {
101                         get {
102                                 if (publicId == null)
103                                         return null;
104                                 else
105                                         return systemId;
106                         }
107                 }
108                 #endregion
109
110                 #region Methods
111
112                 public override XmlNode CloneNode (bool deep)
113                 {
114                         throw new InvalidOperationException ("This operation is not supported.");
115                 }
116
117                 public override void WriteContentTo (XmlWriter w)
118                 {
119                         // No effect.
120                 }
121
122                 public override void WriteTo (XmlWriter w)
123                 {
124                         // No effect.
125                 }
126
127                 #endregion
128         }
129 }