org.dom4j.tree

Class NamespaceStack

public class NamespaceStack extends Object

NamespaceStack implements a stack of namespaces and optionally maintains a cache of all the fully qualified names (QName) which are in scope. This is useful when building or navigating a dom4j document.

Version: $Revision: 1.13 $

Author: James Strachan

Constructor Summary
NamespaceStack()
NamespaceStack(DocumentFactory documentFactory)
Method Summary
NamespaceaddNamespace(String prefix, String uri)
Adds a new namespace to the stack
voidclear()
Clears the stack
booleancontains(Namespace namespace)
DOCUMENT ME!
protected NamespacecreateNamespace(String prefix, String namespaceURI)
Factory method to creeate new Namespace instances.
protected QNamecreateQName(String localName, String qualifiedName, Namespace namespace)
Factory method to creeate new QName instances.
protected NamespacefindDefaultNamespace()
Attempts to find the current default namespace on the stack right now or returns null if one could not be found
QNamegetAttributeQName(String namespaceURI, String localName, String qualifiedName)
NamespacegetDefaultNamespace()
DocumentFactorygetDocumentFactory()
NamespacegetNamespace(int index)
DOCUMENT ME!
protected MapgetNamespaceCache()
NamespacegetNamespaceForPrefix(String prefix)
DOCUMENT ME!
QNamegetQName(String namespaceURI, String localName, String qualifiedName)
StringgetURI(String prefix)
DOCUMENT ME!
Namespacepop()
Pops the most recently used Namespace from the stack
Namespacepop(String prefix)
Pops a namepace from the stack with the given prefix and URI
voidpush(Namespace namespace)
Pushes the given namespace onto the stack so that its prefix becomes available.
voidpush(String prefix, String uri)
Adds a namepace to the stack with the given prefix and URI
protected QNamepushQName(String localName, String qualifiedName, Namespace namespace, String prefix)
Adds the QName to the stack of available QNames
protected Namespaceremove(int index)
Removes the namespace at the given index of the stack
voidsetDocumentFactory(DocumentFactory documentFactory)
intsize()
DOCUMENT ME!
StringtoString()

Constructor Detail

NamespaceStack

public NamespaceStack()

NamespaceStack

public NamespaceStack(DocumentFactory documentFactory)

Method Detail

addNamespace

public Namespace addNamespace(String prefix, String uri)
Adds a new namespace to the stack

Parameters: prefix DOCUMENT ME! uri DOCUMENT ME!

Returns: DOCUMENT ME!

clear

public void clear()
Clears the stack

contains

public boolean contains(Namespace namespace)
DOCUMENT ME!

Parameters: namespace DOCUMENT ME!

Returns: true if the given prefix is in the stack.

createNamespace

protected Namespace createNamespace(String prefix, String namespaceURI)
Factory method to creeate new Namespace instances. By default this method interns the Namespace

Parameters: prefix DOCUMENT ME! namespaceURI DOCUMENT ME!

Returns: DOCUMENT ME!

createQName

protected QName createQName(String localName, String qualifiedName, Namespace namespace)
Factory method to creeate new QName instances. By default this method interns the QName

Parameters: localName DOCUMENT ME! qualifiedName DOCUMENT ME! namespace DOCUMENT ME!

Returns: DOCUMENT ME!

findDefaultNamespace

protected Namespace findDefaultNamespace()
Attempts to find the current default namespace on the stack right now or returns null if one could not be found

Returns: DOCUMENT ME!

getAttributeQName

public QName getAttributeQName(String namespaceURI, String localName, String qualifiedName)

getDefaultNamespace

public Namespace getDefaultNamespace()

getDocumentFactory

public DocumentFactory getDocumentFactory()

getNamespace

public Namespace getNamespace(int index)
DOCUMENT ME!

Parameters: index DOCUMENT ME!

Returns: the namespace at the specified index on the stack

getNamespaceCache

protected Map getNamespaceCache()

getNamespaceForPrefix

public Namespace getNamespaceForPrefix(String prefix)
DOCUMENT ME!

Parameters: prefix DOCUMENT ME!

Returns: the namespace for the given prefix or null if it could not be found.

getQName

public QName getQName(String namespaceURI, String localName, String qualifiedName)

getURI

public String getURI(String prefix)
DOCUMENT ME!

Parameters: prefix DOCUMENT ME!

Returns: the URI for the given prefix or null if it could not be found.

pop

public Namespace pop()
Pops the most recently used Namespace from the stack

Returns: Namespace popped from the stack

pop

public Namespace pop(String prefix)
Pops a namepace from the stack with the given prefix and URI

Parameters: prefix DOCUMENT ME!

Returns: DOCUMENT ME!

push

public void push(Namespace namespace)
Pushes the given namespace onto the stack so that its prefix becomes available.

Parameters: namespace is the Namespace to add to the stack.

push

public void push(String prefix, String uri)
Adds a namepace to the stack with the given prefix and URI

Parameters: prefix DOCUMENT ME! uri DOCUMENT ME!

pushQName

protected QName pushQName(String localName, String qualifiedName, Namespace namespace, String prefix)
Adds the QName to the stack of available QNames

Parameters: localName DOCUMENT ME! qualifiedName DOCUMENT ME! namespace DOCUMENT ME! prefix DOCUMENT ME!

Returns: DOCUMENT ME!

remove

protected Namespace remove(int index)
Removes the namespace at the given index of the stack

Parameters: index DOCUMENT ME!

Returns: DOCUMENT ME!

setDocumentFactory

public void setDocumentFactory(DocumentFactory documentFactory)

size

public int size()
DOCUMENT ME!

Returns: the number of namespaces on the stackce stack.

toString

public String toString()
Copyright B) 2005 MetaStuff Ltd. All Rights Reserved. Hosted by

SourceForge