Package org.dom4j.tree
Class NamespaceStack
- java.lang.Object
-
- org.dom4j.tree.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.
-
-
Constructor Summary
Constructors Constructor Description NamespaceStack()
NamespaceStack(DocumentFactory documentFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Namespace
addNamespace(String prefix, String uri)
Adds a new namespace to the stackvoid
clear()
Clears the stackboolean
contains(Namespace namespace)
DOCUMENT ME!protected Namespace
createNamespace(String prefix, String namespaceURI)
Factory method to creeate new Namespace instances.protected QName
createQName(String localName, String qualifiedName, Namespace namespace)
Factory method to creeate new QName instances.protected Namespace
findDefaultNamespace()
Attempts to find the current default namespace on the stack right now or returns null if one could not be foundQName
getAttributeQName(String namespaceURI, String localName, String qualifiedName)
Namespace
getDefaultNamespace()
DocumentFactory
getDocumentFactory()
Namespace
getNamespace(int index)
DOCUMENT ME!protected Map<String,QName>
getNamespaceCache()
Namespace
getNamespaceForPrefix(String prefix)
DOCUMENT ME!QName
getQName(String namespaceURI, String localName, String qualifiedName)
String
getURI(String prefix)
DOCUMENT ME!Namespace
pop()
Pops the most recently usedNamespace
from the stackNamespace
pop(String prefix)
Pops a namepace from the stack with the given prefix and URIvoid
push(String prefix, String uri)
Adds a namepace to the stack with the given prefix and URIvoid
push(Namespace namespace)
Pushes the given namespace onto the stack so that its prefix becomes available.protected QName
pushQName(String localName, String qualifiedName, Namespace namespace, String prefix)
Adds the QName to the stack of available QNamesprotected Namespace
remove(int index)
Removes the namespace at the given index of the stackvoid
setDocumentFactory(DocumentFactory documentFactory)
int
size()
DOCUMENT ME!String
toString()
-
-
-
Constructor Detail
-
NamespaceStack
public NamespaceStack()
-
NamespaceStack
public NamespaceStack(DocumentFactory documentFactory)
-
-
Method Detail
-
push
public void push(Namespace namespace)
Pushes the given namespace onto the stack so that its prefix becomes available.- Parameters:
namespace
- is theNamespace
to add to the stack.
-
pop
public Namespace pop()
Pops the most recently usedNamespace
from the stack- Returns:
- Namespace popped from the stack
-
size
public int size()
DOCUMENT ME!- Returns:
- the number of namespaces on the stackce stack.
-
clear
public void clear()
Clears the stack
-
getNamespace
public Namespace getNamespace(int index)
DOCUMENT ME!- Parameters:
index
- DOCUMENT ME!- Returns:
- the namespace at the specified index on the stack
-
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.
-
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.
-
contains
public boolean contains(Namespace namespace)
DOCUMENT ME!- Parameters:
namespace
- DOCUMENT ME!- Returns:
- true if the given prefix is in the stack.
-
getAttributeQName
public QName getAttributeQName(String namespaceURI, String localName, String qualifiedName)
-
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!
-
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!
-
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!
-
getDocumentFactory
public DocumentFactory getDocumentFactory()
-
setDocumentFactory
public void setDocumentFactory(DocumentFactory documentFactory)
-
getDefaultNamespace
public Namespace getDefaultNamespace()
-
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!
-
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!
-
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!
-
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!
-
remove
protected Namespace remove(int index)
Removes the namespace at the given index of the stack- Parameters:
index
- DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
-