public class NameImpl extends Object implements Name, Serializable, Comparable<NameImpl>
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.
| Modifier and Type | Field and Description |
|---|---|
protected String |
local
local part
|
protected String |
namespace
namespace / scope
|
| Constructor and Description |
|---|
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.
|
| Modifier and Type | Method and Description |
|---|---|
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
|
protected String namespace
protected String local
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)
public boolean isGlobal()
Nametrue if getNamespaceURI is nullpublic String getSeparator()
NameThis 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 Namepublic String getNamespaceURI()
NameIn 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 Namepublic String getLocalPart()
NameThis mechanism captures the following ISO 19103 concerns:
getLocalPart in interface Namepublic String getURI()
NameThis URI is constructed with the getNamespaceURI(), getSeparator() and getLocalPart().
This method captures the following concerns of ISO 19103 concerns:
As an example:
public int hashCode()
public boolean equals(Object obj)
public String toString()
public int compareTo(NameImpl other)
compareTo in interface Comparable<NameImpl>Copyright © 1996–2019 Geotools. All rights reserved.