You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2003/09/13 10:14:00 UTC
cvs commit: ws-axis/java/test/utils TestQName.java
dims 2003/09/13 01:14:00
Modified: java/src/javax/xml/namespace QName.java
java/test/utils TestQName.java
Log:
Modified version of patch (http://marc.theaimsgroup.com/?l=axis-dev&m=106342083505959&w=2)
from "Ias" <ia...@apache-korea.org>
for "updating to javax.xml.namespace.QName version 1.1"
Revision Changes Path
1.9 +41 -15 ws-axis/java/src/javax/xml/namespace/QName.java
Index: QName.java
===================================================================
RCS file: /home/cvs/ws-axis/java/src/javax/xml/namespace/QName.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- QName.java 22 Apr 2003 19:33:47 -0000 1.8
+++ QName.java 13 Sep 2003 08:14:00 -0000 1.9
@@ -63,11 +63,11 @@
* as specified in <a href="http://www.w3.org/TR/xmlschema-2/#QName">XML
* Schema Part2: Datatypes specification</a>.
* <p>
- * The value of a QName contains a <b>namespaceURI</b> and a <b>localPart</b>.
+ * The value of a QName contains a <b>namespaceURI</b>, a <b>localPart</b> and a <b>prefix</b>.
* The localPart provides the local part of the qualified name. The
* namespaceURI is a URI reference identifying the namespace.
*
- * @version 1.0
+ * @version 1.1
*/
public class QName implements Serializable {
@@ -80,17 +80,16 @@
/** Field localPart */
private String localPart;
+ /** Field prefix */
+ private String prefix;
+
/**
* Constructor for the QName.
*
* @param localPart Local part of the QName
*/
public QName(String localPart) {
-
- this.namespaceURI = emptyString;
- this.localPart = (localPart == null)
- ? emptyString
- : localPart.intern();
+ this(emptyString, localPart, emptyString);
}
/**
@@ -100,13 +99,31 @@
* @param localPart Local part of the QName.
*/
public QName(String namespaceURI, String localPart) {
+ this(namespaceURI, localPart, emptyString);
+ }
+ /**
+ * Constructor for the QName.
+ *
+ * @param namespaceURI Namespace URI for the QName
+ * @param localPart Local part of the QName.
+ * @param prefix Prefix of the QName.
+ */
+ public QName(String namespaceURI, String localPart, String prefix) {
this.namespaceURI = (namespaceURI == null)
- ? emptyString
- : namespaceURI.intern();
- this.localPart = (localPart == null)
- ? emptyString
- : localPart.intern();
+ ? emptyString
+ : namespaceURI.intern();
+ if (localPart == null) {
+ throw new IllegalArgumentException("invalid QName local part");
+ } else {
+ this.localPart = localPart.intern();
+ }
+
+ if (prefix == null) {
+ throw new IllegalArgumentException("invalid QName prefix");
+ } else {
+ this.prefix = prefix.intern();
+ }
}
/**
@@ -128,6 +145,15 @@
}
/**
+ * Gets the Prefix for this QName
+ *
+ * @return Prefix
+ */
+ public String getPrefix() {
+ return prefix;
+ }
+
+ /**
* Returns a string representation of this QName
*
* @return a string representation of the QName
@@ -231,12 +257,12 @@
* Ensure that deserialization properly interns the results.
* @param in the ObjectInputStream to be read
*/
- private void readObject(ObjectInputStream in) throws
- IOException, ClassNotFoundException
- {
+ private void readObject(ObjectInputStream in) throws
+ IOException, ClassNotFoundException {
in.defaultReadObject();
namespaceURI = namespaceURI.intern();
localPart = localPart.intern();
+ prefix = prefix.intern();
}
}
1.17 +1 -1 ws-axis/java/test/utils/TestQName.java
Index: TestQName.java
===================================================================
RCS file: /home/cvs/ws-axis/java/test/utils/TestQName.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- TestQName.java 11 Dec 2002 22:40:19 -0000 1.16
+++ TestQName.java 13 Sep 2003 08:14:00 -0000 1.17
@@ -53,7 +53,7 @@
public void testEquals()
{
- QName qname1 = new QName(null, null);
+ QName qname1 = new QName("", "");
QName qname2 = new QName("PREFIX", "LOCALPART");
QName qname3 = new QName("PREFIX", "LOCALPART");
QName qname4 = new QName("PREFIX", "DIFFLOCALPART");