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()
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:
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.