org.apache.ws.commons.util

Class NamespaceContextImpl

Implemented Interfaces:
NamespaceContext

public class NamespaceContextImpl
extends java.lang.Object
implements NamespaceContext

Default implementation of javax.xml.namespace.NamespaceContext.

Method Summary

String
checkContext(int i)
This method is used to restore the namespace state after an element is created.
void
endPrefixMapping(String pPrefix)
Removes the declaration of the prefix, which has been defined last.
String
getAttributePrefix(String pURI)
Returns a non-empty prefix currently mapped to the given URL or null, if there is no such mapping.
int
getContext()
Returns the current number of assigned prefixes.
String
getNamespaceURI(String pPrefix)
Given a prefix, returns the URI to which the prefix is currently mapped or null, if there is no such mapping.
String
getPrefix(String pURI)
Returns a prefix currently mapped to the given URI or null, if there is no such mapping.
List
getPrefixes()
Returns a list of all prefixes, which are currently declared, in the order of declaration.
Iterator
getPrefixes(String pURI)
Returns a collection to all prefixes bound to the given namespace URI.
boolean
isPrefixDeclared(String pPrefix)
Returns whether a given prefix is currently declared.
void
reset()
Resets the NamespaceSupport's state.
void
startPrefixMapping(String pPrefix, String pURI)
Declares a new prefix.

Method Details

checkContext

public String checkContext(int i)
This method is used to restore the namespace state after an element is created. It takes as input a state, as returned by getContext().
For any prefix, which was since saving the state, the prefix is returned and deleted from the internal list. In other words, a typical use looks like this:
   NamespaceSupport nss;
   ContentHandler h;
   int context = nss.getContext();
   h.startElement("foo", "bar", "f:bar", new AttributesImpl());
   ...
   h.endElement("foo", "bar", "f:bar");
   for (;;) {
     String prefix = nss.checkContext(context);
     if (prefix == null) {
       break;
     }
     h.endPrefixMapping(prefix);
   }
 

endPrefixMapping

public void endPrefixMapping(String pPrefix)
Removes the declaration of the prefix, which has been defined last. Typically called from within org.xml.sax.ContextHandler.endPrefixMapping(java.lang.String).

getAttributePrefix

public String getAttributePrefix(String pURI)
Parameters:
pURI - Thhe namespace URI in question

getContext

public int getContext()

getNamespaceURI

public String getNamespaceURI(String pPrefix)
Given a prefix, returns the URI to which the prefix is currently mapped or null, if there is no such mapping.

Note: This methods behaviour is precisely defined by NamespaceContext.getNamespaceURI(java.lang.String).

Parameters:
pPrefix - The prefix in question

getPrefix

public String getPrefix(String pURI)
Parameters:
pURI - The namespace URI in question

getPrefixes

public List getPrefixes()
Returns a list of all prefixes, which are currently declared, in the order of declaration. Duplicates are possible, if a prefix has been assigned to more than one URI, or repeatedly to the same URI.

getPrefixes

public Iterator getPrefixes(String pURI)
Returns a collection to all prefixes bound to the given namespace URI. Note: This methods behaviour is precisely defined by NamespaceContext.getPrefixes(java.lang.String).
Parameters:
pURI - The namespace prefix in question

isPrefixDeclared

public boolean isPrefixDeclared(String pPrefix)
Returns whether a given prefix is currently declared.

reset

public void reset()
Resets the NamespaceSupport's state. Allows reusing the object.

startPrefixMapping

public void startPrefixMapping(String pPrefix,
                               String pURI)
Declares a new prefix. Typically called from within org.xml.sax.ContextHandler.startPrefixMapping(java.lang.String, java.lang.String).