## net.sf.saxon.om
Class NamespaceDeclarationsImpl

    java.lang.Object
      net.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)`