|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ObjectNameImpl
public class NameImpl
Simple implementation of Name.
This class emulates QName, and is used as the implementation of both AttributeName and TypeName (so when the API settles down we should have a quick fix.
Its is advantageous to us to be able to:
It case it is not obvious this is a value object and equality is based on namespace and name.
Field Summary | |
---|---|
protected String |
local
local part |
protected String |
namespace
namespace / scope |
Constructor Summary | |
---|---|
NameImpl(QName qName)
Constract an instance from the provided QName. |
|
NameImpl(String local)
Constructs an instance with the local part set. |
|
NameImpl(String namespace,
String local)
Constructs an instance with the local part and namespace set. |
|
NameImpl(String namespace,
String separator,
String local)
Constructs an instance with the local part and namespace set. |
Method Summary | |
---|---|
int |
compareTo(NameImpl other)
|
boolean |
equals(Object obj)
value object with equality based on name and namespace. |
String |
getLocalPart()
Retrieve the "local" name. |
String |
getNamespaceURI()
Returns the URI of the namespace for this name. |
String |
getSeparator()
Separator to use between getNamespaceURI() and getLocalPart() when constructing getURI(). |
String |
getURI()
Convert this name to a complete URI. |
int |
hashCode()
Returns a hash code value for this operand. |
boolean |
isGlobal()
Returns true if getNamespaceURI is null |
String |
toString()
name or namespace:name |
Methods inherited from class Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected String namespace
protected String local
Constructor Detail |
---|
public NameImpl(String local)
local
- The local part of the name.public NameImpl(String namespace, String local)
namespace
- The namespace or scope of the name.local
- The local part of the name.public NameImpl(String namespace, String separator, String local)
namespace
- The namespace or scope of the name.local
- The local part of the name.public NameImpl(QName qName)
Method Detail |
---|
public boolean isGlobal()
Name
true
if getNamespaceURI is null
isGlobal
in interface Name
true
if getNamespaceURI is null
public String getSeparator()
Name
This separator is only used to construct a visually pleasing getURI() result. The value to use as a separator depends on the registry or namespace you are working with. JNDI naming services have been known to use "/" and ":". Referring to an element in an XMLSchema document has been represented with a "#" symbol.
getSeparator
in interface Name
public String getNamespaceURI()
Name
In ISO 19103 this is known as scope and containes a backpointer to the containing namespace. This solution is too heavy for our purposes, and we expect applications to provide their own lookup mechanism through which they can use this URI.
The namespace URI does serve to make this name unique and is checked as part of the equals operation.
getNamespaceURI
in interface Name
public String getLocalPart()
Name
This mechanism captures the following ISO 19103 concerns:
getLocalPart
in interface Name
public String getURI()
Name
This URI is constructed with the getNamespaceURI(), getSeparator() and getLocalPart().
This method captures the following concerns of ISO 19103 concerns:
As an example:
getURI
in interface Name
public int hashCode()
hashCode
in interface Name
hashCode
in class Object
public boolean equals(Object obj)
equals
in interface Name
equals
in class Object
true
if getURI is equal.public String toString()
toString
in interface Name
toString
in class Object
public int compareTo(NameImpl other)
compareTo
in interface Comparable<NameImpl>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |