1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.jxpath.ri;
19
20 import java.io.Serializable;
21
22
23
24
25 public class QName implements Serializable {
26
27 private static final long serialVersionUID = 7616199282015091496L;
28
29
30
31
32 private final String prefix;
33
34
35
36
37 private final String name;
38
39
40
41
42 private final String qualifiedName;
43
44
45
46
47
48
49 public QName(final String qualifiedName) {
50 this.qualifiedName = qualifiedName;
51 final int index = qualifiedName.indexOf(':');
52 prefix = index < 0 ? null : qualifiedName.substring(0, index);
53 name = index < 0 ? qualifiedName : qualifiedName.substring(index + 1);
54 }
55
56
57
58
59
60
61
62 public QName(final String prefix, final String localName) {
63 this.prefix = prefix;
64 this.name = localName;
65 this.qualifiedName = prefix == null ? localName : prefix + ':' + localName;
66 }
67
68 @Override
69 public boolean equals(final Object object) {
70 if (this == object) {
71 return true;
72 }
73 if (!(object instanceof QName)) {
74 return false;
75 }
76 return qualifiedName.equals(((QName) object).qualifiedName);
77 }
78
79
80
81
82
83
84 public String getName() {
85 return name;
86 }
87
88
89
90
91
92
93 public String getPrefix() {
94 return prefix;
95 }
96
97 @Override
98 public int hashCode() {
99 return name.hashCode();
100 }
101
102 @Override
103 public String toString() {
104 return qualifiedName;
105 }
106 }