Top Description Fields Constructors Methods
com.fasterxml.aalto.in

public final Class FixedNsContext

extends Object
implements NamespaceContext
Class Inheritance
All Implemented Interfaces
javax.xml.namespace.NamespaceContext
Imports
java.util.*, javax.xml.XMLConstants, javax.xml.namespace.NamespaceContext, org.codehaus.stax2.ri.EmptyIterator, .SingletonIterator

Non-transient implementation of NamespaceContext.

Field Summary

Modifier and TypeField and Description
protected final String[]
_declarationData

Array that contains prefix/namespace-uri pairs, ordered from the most recent declaration to older ones.

protected final NsDeclaration
_lastDeclaration

We will keep a reference to the last namespace declaration in effect at point when this instance was created.

protected ArrayList<String>
_tmpDecl

Temporary List used for constructing compact namespace binding information that we will actually use.

public static final FixedNsContext
EMPTY_CONTEXT

We can share and reuse "no bindings" instance.

Constructor Summary

AccessConstructor and Description
private
FixedNsContext(NsDeclaration lastDecl, String[] declData)

Method Summary

Modifier and TypeMethod and Description
public final String
getNamespaceURI(String
prefix to look up
prefix
)

Implements javax.xml.namespace.NamespaceContext.getNamespaceURI.

Get Namespace URI bound to a prefix in the current scope.
public final String
getPrefix(String
URI of Namespace to lookup
nsURI
)

Implements javax.xml.namespace.NamespaceContext.getPrefix.

Get prefix bound to Namespace URI in the current scope.
public final Iterator<String>
getPrefixes(String
URI of Namespace to lookup
nsURI
)

Implements javax.xml.namespace.NamespaceContext.getPrefixes.

Get all prefixes bound to a Namespace URI in the current scope.
public FixedNsContext
reuseOrCreate(final NsDeclaration currLastDecl)

Method called to either reuse this context or construct a new one.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

_declarationDataback to summary
protected final String[] _declarationData

Array that contains prefix/namespace-uri pairs, ordered from the most recent declaration to older ones. Array is always exactly sized so there are no empty entries at the end.

_lastDeclarationback to summary
protected final NsDeclaration _lastDeclaration

We will keep a reference to the last namespace declaration in effect at point when this instance was created. This is used for lazy invalidation of instances: if last declaration for an instance differs from the last seen by the reader, a new context must be created.

_tmpDeclback to summary
protected ArrayList<String> _tmpDecl

Temporary List used for constructing compact namespace binding information that we will actually use.

EMPTY_CONTEXTback to summary
public static final FixedNsContext EMPTY_CONTEXT

We can share and reuse "no bindings" instance.

Constructor Detail

FixedNsContextback to summary
private FixedNsContext(NsDeclaration lastDecl, String[] declData)

Method Detail

getNamespaceURIback to summary
public final String getNamespaceURI(String prefix)

Implements javax.xml.namespace.NamespaceContext.getNamespaceURI.

Doc from javax.xml.namespace.NamespaceContext.getNamespaceURI.

Get Namespace URI bound to a prefix in the current scope.

When requesting a Namespace URI by prefix, the following table describes the returned Namespace URI value for all possible prefix values:

Return value for specified prefixes
prefix parameter Namespace URI return value
DEFAULT_NS_PREFIX ("") default Namespace URI in the current scope or XMLConstants.NULL_NS_URI("") when there is no default Namespace URI in the current scope
bound prefix Namespace URI bound to prefix in current scope
unbound prefix XMLConstants.NULL_NS_URI("")
XMLConstants.XML_NS_PREFIX ("xml") XMLConstants.XML_NS_URI ("http://www.w3.org/XML/1998/namespace")
XMLConstants.XMLNS_ATTRIBUTE ("xmlns") XMLConstants.XMLNS_ATTRIBUTE_NS_URI ("http://www.w3.org/2000/xmlns/")
null IllegalArgumentException is thrown
Parameters
prefix:String

prefix to look up

Returns:String

Namespace URI bound to prefix in the current scope

Annotations
@Override
getPrefixback to summary
public final String getPrefix(String nsURI)

Implements javax.xml.namespace.NamespaceContext.getPrefix.

Doc from javax.xml.namespace.NamespaceContext.getPrefix.

Get prefix bound to Namespace URI in the current scope.

To get all prefixes bound to a Namespace URI in the current scope, use getPrefixes(String namespaceURI).

When requesting a prefix by Namespace URI, the following table describes the returned prefix value for all Namespace URI values:

Return value for specified Namespace URIs
Namespace URI parameter prefix value returned
<default Namespace URI> XMLConstants.DEFAULT_NS_PREFIX ("")
bound Namespace URI prefix bound to Namespace URI in the current scope, if multiple prefixes are bound to the Namespace URI in the current scope, a single arbitrary prefix, whose choice is implementation dependent, is returned
unbound Namespace URI null
XMLConstants.XML_NS_URI ("http://www.w3.org/XML/1998/namespace") XMLConstants.XML_NS_PREFIX ("xml")
XMLConstants.XMLNS_ATTRIBUTE_NS_URI ("http://www.w3.org/2000/xmlns/") XMLConstants.XMLNS_ATTRIBUTE ("xmlns")
null IllegalArgumentException is thrown
Parameters
nsURI:String

URI of Namespace to lookup

Returns:String

prefix bound to Namespace URI in current context

Annotations
@Override
getPrefixesback to summary
public final Iterator<String> getPrefixes(String nsURI)

Implements javax.xml.namespace.NamespaceContext.getPrefixes.

Doc from javax.xml.namespace.NamespaceContext.getPrefixes.

Get all prefixes bound to a Namespace URI in the current scope.

An Iterator over String elements is returned in an arbitrary, implementation dependent, order.

The Iterator is not modifiable. e.g. the remove() method will throw UnsupportedOperationException.

When requesting prefixes by Namespace URI, the following table describes the returned prefixes value for all Namespace URI values:

Return value for specified Namespace URIs
Namespace URI parameter prefixes value returned
bound Namespace URI, including the <default Namespace URI> Iterator over prefixes bound to Namespace URI in the current scope in an arbitrary, implementation dependent, order
unbound Namespace URI empty Iterator
XMLConstants.XML_NS_URI ("http://www.w3.org/XML/1998/namespace") Iterator with one element set to XMLConstants.XML_NS_PREFIX ("xml")
XMLConstants.XMLNS_ATTRIBUTE_NS_URI ("http://www.w3.org/2000/xmlns/") Iterator with one element set to XMLConstants.XMLNS_ATTRIBUTE ("xmlns")
null IllegalArgumentException is thrown
Parameters
nsURI:String

URI of Namespace to lookup

Returns:Iterator<String>

Iterator for all prefixes bound to the Namespace URI in the current scope

Annotations
@Override
reuseOrCreateback to summary
public FixedNsContext reuseOrCreate(final NsDeclaration currLastDecl)

Method called to either reuse this context or construct a new one. Reuse is ok if the currently active last declaration has not changed since time this instance was created.

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

Annotations
@Override