net.sf.saxon.om
Class NamespaceDeclarationsImpl

java.lang.Object
  extended bynet.sf.saxon.om.NamespaceDeclarationsImpl
All Implemented Interfaces:
NamespaceDeclarations

public class NamespaceDeclarationsImpl
extends java.lang.Object
implements NamespaceDeclarations

An implementation of the NamespaceDeclarations interface, based on encapsulating an array of namespace codes.


Constructor Summary
NamespaceDeclarationsImpl(NamePool pool, int[] codes)
          Construct a set of namespace declarations
 
Method Summary
 int getLength()
          Get the number of declarations (and undeclarations) in this list.
 int getNamespaceCode(int index)
          Get the n'th declaration in the list in the form of a namespace code.
 java.lang.String getPrefix(int index)
          Get the prefix of the n'th declaration (or undeclaration) in the list, counting from zero.
 java.lang.String getURI(int index)
          Get the namespace URI of the n'th declaration (or undeclaration) in the list, counting from zero.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NamespaceDeclarationsImpl

public NamespaceDeclarationsImpl(NamePool pool,
                                 int[] codes)
Construct a set of namespace declarations

Parameters:
pool - the name pool
codes - an integer array holding the namespace codes. These codes are allocated by the name pool, and can be used to look up a prefix and uri in the name pool. If the array contains the integer -1, this acts as a terminator for the list. This is the format returned by the method NodeInfo.getDeclaredNamespaces(int[]).
Method Detail

getLength

public int getLength()
Get the number of declarations (and undeclarations) in this list.

Specified by:
getLength in interface NamespaceDeclarations

getPrefix

public java.lang.String getPrefix(int index)
Get the prefix of the n'th declaration (or undeclaration) in the list, counting from zero.

Specified by:
getPrefix in interface NamespaceDeclarations
Parameters:
index - the index identifying which declaration is required.
Returns:
the namespace prefix. For a declaration or undeclaration of the default namespace, this is the zero-length string.
Throws:
java.lang.IndexOutOfBoundsException - if the index is out of range.

getURI

public java.lang.String getURI(int index)
Get the namespace URI of the n'th declaration (or undeclaration) in the list, counting from zero.

Specified by:
getURI in interface NamespaceDeclarations
Parameters:
index - the index identifying which declaration is required.
Returns:
the namespace URI. For a namespace undeclaration, this is the zero-length string.
Throws:
java.lang.IndexOutOfBoundsException - if the index is out of range.

getNamespaceCode

public int getNamespaceCode(int index)
Get the n'th declaration in the list in the form of a namespace code. Namespace codes can be translated into a prefix and URI by means of methods in the NamePool

Specified by:
getNamespaceCode in interface NamespaceDeclarations
Parameters:
index - the index identifying which declaration is required.
Returns:
the namespace code. This is an integer whose upper half indicates the prefix (0 represents the default namespace), and whose lower half indicates the URI (0 represents an undeclaration).
Throws:
java.lang.IndexOutOfBoundsException - if the index is out of range.
See Also:
NamePool.getPrefixFromNamespaceCode(int), NamePool.getURIFromNamespaceCode(int)