org.sbml.jsbml.xml
public class XMLNamespaces extends java.lang.Object
This class of objects is defined by jsbml only and has no direct equivalent in terms of SBML components. This class is not prescribed by the SBML specifications, although it is used to implement features defined in SBML.
This class serves to organize functionality for tracking XML namespaces in a document or data stream. The namespace declarations are stored as a list of pairs of XML namespace URIs and prefix strings. These correspond to the parts of a namespace declaration on an XML element. For example, in the following XML fragment,
<annotation> <mysim:nodecolors xmlns:mysim='urn:lsid:mysim.org' mysim:bgcolor='green' mysim:fgcolor='white'/> </annotation>
urn:lsid:mysim.org
and its prefix is mysim
.
This pair could be stored as one item in an XMLNamespaces
list.
XMLNamespaces
provides various methods for manipulating the list of
prefix-URI pairs. Individual namespaces stored in a given XMLNamespace
object instance can be retrieved based on their index using
getPrefix(int index)
, or by their characteristics such as
their URI or position in the list.
Modifier and Type | Field and Description |
---|---|
(package private) java.util.LinkedHashMap<java.lang.String,java.lang.String> |
namespaces
HashMap
|
Constructor and Description |
---|
XMLNamespaces()
Creates a new empty list of XML namespace declarations.
|
XMLNamespaces(XMLNamespaces orig)
Copy constructor; creates a copy of this
XMLNamespaces list. |
Modifier and Type | Method and Description |
---|---|
int |
add(java.lang.String uri)
Appends an XML namespace URI with an empty prefix to this list of namespace
declarations.
|
int |
add(java.lang.String uri,
java.lang.String prefix)
Appends an XML namespace prefix and URI pair to this list of namespace
declarations.
|
int |
clear()
Clears (deletes) all XML namespace declarations in this
XMLNamespaces
object. |
XMLNamespaces |
clone()
Creates and returns a deep copy of this
XMLNamespaces list. |
boolean |
equals(java.lang.Object sb)
Equality comparison method for XMLNamespaces.
|
int |
getIndex(java.lang.String uri)
Gets the index of an XML namespace declaration by URI.
|
int |
getIndexByPrefix(java.lang.String prefix)
Gets the index of an XML namespace declaration by prefix.
|
int |
getLength()
Returns the total number of URI-and-prefix pairs stored in this
particular
XMLNamespaces instance. |
java.lang.String |
getPrefix(int index)
Gets the prefix of an XML namespace declaration by its position.
|
java.lang.String |
getPrefix(java.lang.String uri)
Gets the prefix of an XML namespace declaration by its URI.
|
java.lang.String |
getURI()
Gets the URI of an XML namespace declaration by the empty prefix.
|
java.lang.String |
getURI(int index)
Gets the URI of an XML namespace declaration by its position.
|
java.lang.String |
getURI(java.lang.String prefix)
Gets the URI of an XML namespace declaration by its prefix.
|
int |
hashCode()
Returns a hashcode for this XMLNamespaces object.
|
boolean |
hasNS(java.lang.String uri,
java.lang.String prefix)
Returns
true or false depending on whether an XML
Namespace with the given URI and prefix pair is contained in this
XMLNamespaces list. |
boolean |
hasPrefix(java.lang.String prefix)
Returns
true or false depending on whether an XML
Namespace with the given prefix is contained in this XMLNamespaces
list. |
boolean |
hasURI(java.lang.String uri)
Returns
true or false depending on whether an XML
Namespace with the given URI is contained in this XMLNamespaces list. |
boolean |
isEmpty()
|
int |
remove(int index)
Removes an XML Namespace stored in the given position of this list.
|
int |
remove(java.lang.String prefix)
Removes an XML Namespace with the given prefix.
|
java.util.LinkedHashMap<java.lang.String,java.lang.String> namespaces
public XMLNamespaces()
public XMLNamespaces(XMLNamespaces orig)
XMLNamespaces
list.
orig
- the XMLNamespaces
object to copypublic boolean equals(java.lang.Object sb)
equals
in class java.lang.Object
sb
- a reference to an object to which the current object
instance will be comparedtrue
if sb
refers to the same underlying
native object as this one, false
otherwisepublic int hashCode()
hashCode
in class java.lang.Object
public XMLNamespaces clone()
XMLNamespaces
list.
clone
in class java.lang.Object
XMLNamespaces
list.public int add(java.lang.String uri, java.lang.String prefix)
An XMLNamespace object stores a list of pairs of namespaces and their
prefixes. If there is an XML namespace with the given uri
prefix
in this list, then its corresponding URI will be overwritten by the
new uri
. Calling programs could use one of the other XMLNamespaces
methods, such as
hasPrefix(String)
and
hasURI(String)
to
inquire whether a given prefix and/or URI
is already present in this XMLNamespaces
object.
uri
- a string, the uri for the namespaceprefix
- a string, the prefix for the namespace
public int add(java.lang.String uri)
An XMLNamespace object stores a list of pairs of namespaces and their
prefixes. If there is an XML namespace with the given uri
prefix
in this list, then its corresponding URI will be overwritten by the
new uri
. Calling programs could use one of the other XMLNamespaces
methods, such as
hasPrefix(String)
and
hasURI(String)
to
inquire whether a given prefix and/or URI
is already present in this XMLNamespaces
object.
uri
- a string, the uri for the namespaceprefix
- a string, the prefix for the namespace
public int remove(int index)
index
- an integer, position of the namespace to remove.
public int remove(java.lang.String prefix)
prefix
- a string, prefix of the required namespace.
remove(int index)
public int clear()
XMLNamespaces
object.
remove(int index)
public int getIndex(java.lang.String uri)
An XMLNamespace object stores a list of pairs of namespaces and their
prefixes. If this XMLNamespaces
object contains a pair with the given
URI uri
, this method returns its index in the list.
uri
- a string, the URI of the sought-after namespace.
-1
if not
present.public int getIndexByPrefix(java.lang.String prefix)
An XMLNamespace object stores a list of pairs of namespaces and their
prefixes. If this XMLNamespaces
object contains a pair with the given
prefix prefix
, this method returns its index in the list.
prefix
- a string, the prefix string of the sought-after
namespace
-1
if not
present.public int getLength()
XMLNamespaces
instance.
public java.lang.String getPrefix(int index)
An XMLNamespace object stores a list of pairs of namespaces and their
prefixes. This method returns the prefix of the n
th
element in that list (if it exists). Callers should use
XMLAttributes.getLength() first to find out how many namespaces are
stored in the list.
index
- an integer, position of the sought-after prefix
index
is out of range
getLength()
public java.lang.String getPrefix(java.lang.String uri)
An XMLNamespace object stores a list of pairs of namespaces and their
prefixes. This method returns the prefix for a pair that has the
given uri
.
uri
- a string, the URI of the prefix being sought
uri
exists in this XMLNamespaces
objectpublic java.lang.String getURI(int index)
An XMLNamespace object stores a list of pairs of namespaces and their
prefixes. This method returns the URI of the n
th element
in that list (if it exists). Callers should use
XMLAttributes.getLength() first to find out how many namespaces are
stored in the list.
index
- an integer, position of the required URI.
index
is out of range.
getLength()
public java.lang.String getURI(java.lang.String prefix)
An XMLNamespace object stores a list of pairs of namespaces and their
prefixes. This method returns the namespace URI for a pair that has
the given prefix
.
prefix
- a string, the prefix of the required URI
prefix
, or an empty string if no such prefix-and-URI pair exists
in this XMLNamespaces
objectgetURI()
public java.lang.String getURI()
An XMLNamespace object stores a list of pairs of namespaces and their
prefixes. This method returns the namespace URI for a pair that has
the empty prefix
.
prefix
, or an empty string if no such prefix-and-URI pair exists
in this XMLNamespaces
objectgetURI()
public boolean isEmpty()
true
if this XMLNamespaces
list is empty, false
otherwise.public boolean hasURI(java.lang.String uri)
true
or false
depending on whether an XML
Namespace with the given URI is contained in this XMLNamespaces
list.
uri
- a string, the uri for the namespace
true
if an XML Namespace with the given URI is contained in
this XMLNamespaces
list, false
otherwise.public boolean hasPrefix(java.lang.String prefix)
true
or false
depending on whether an XML
Namespace with the given prefix is contained in this XMLNamespaces
list.
prefix
- a string, the prefix for the namespace
true
if an XML Namespace with the given URI is contained in
this XMLNamespaces
list, false
otherwise.public boolean hasNS(java.lang.String uri, java.lang.String prefix)
true
or false
depending on whether an XML
Namespace with the given URI and prefix pair is contained in this
XMLNamespaces
list.
uri
- a string, the URI for the namespaceprefix
- a string, the prefix for the namespace
true
if an XML Namespace with the given uri/prefix pair is
contained in this XMLNamespaces
list, false
otherwise.