2002-02-24 Duncan Mak <duncan@ximian.com>
[mono.git] / mcs / class / System.XML / System.Xml / XmlQualifiedName.cs
1 //
2 // System.Xml.XmlQualifiedName.cs
3 //
4 // Author: Duncan Mak (duncan@ximian.com)
5 //
6 // (C) Ximian, Inc.
7 //
8
9 using System;
10
11 namespace System.Xml
12 {
13         public class XmlQualifiedName
14         {
15                 // Constructors         
16                 public XmlQualifiedName ()
17                         : base ()
18                 {
19                 }
20
21                 public XmlQualifiedName (string name)
22                         : base ()
23                 {
24                         this.name = name;
25                 }
26
27                 public XmlQualifiedName (string name, string ns)
28                         : base ()
29                 {
30                         this.name = name;
31                         this.ns = ns;
32                 }
33
34                 // Fields
35                 [MonoTODO] public static readonly XmlQualifiedName Empty = new XmlQualifiedName ();
36                 
37                 private string name;
38                 private string ns;
39                 
40                 // Properties
41                 public bool IsEmpty
42                 {
43                         get {
44                                 if ((name == String.Empty) && (ns == String.Empty))
45                                         return true;
46                                 else
47                                         return false;
48                         }
49                 }
50
51                 public string Name
52                 {
53                         get { return name; }
54                 }
55
56                 public string Namespace
57                 {
58                         get { return ns; }
59                 }
60
61                 // Methods
62                 public override bool Equals (object other)
63                 {
64                         if (this == other)
65                                 return true;
66                         else
67                                 return false;
68                 }
69
70                 [MonoTODO] public override int GetHashCode () { return 42; }
71
72                 public override string ToString ()
73                 {
74                         if (ns == null)
75                                 return name;
76                         else
77                                 return ns + ":" + name;
78                 }
79
80                 public static string ToString (string name, string ns)
81                 {
82                         if (ns == null)
83                                 return name;
84                         else                            
85                                 return ns + ":" + name;
86                 }
87
88                 // Operators
89                 public static bool operator == (XmlQualifiedName a, XmlQualifiedName b)
90                 {
91                         if ((a.Name == b.Name) && (a.Namespace == b.Namespace))
92                                 return true;
93                         else
94                                 return false;
95                 }
96
97                 public static bool operator != (XmlQualifiedName a, XmlQualifiedName b)
98                 {
99                         if (!(a == b))
100                                 return false;
101                         else
102                                 return true;
103                 }
104         }
105 }