org.tagnetic.core.jaxb.tagneticconfig.impl.runtime
Class NamespaceContextImpl

java.lang.Object
  extended byorg.tagnetic.core.jaxb.tagneticconfig.impl.runtime.NamespaceContextImpl
All Implemented Interfaces:
NamespaceContext2

public class NamespaceContextImpl
extends java.lang.Object
implements NamespaceContext2

Implementation of the NamespaceContext2. This class also provides several utility methods for XMLSerializer-derived classes. The startElement method and the endElement method need to be called appropriately when used. See javadoc for those methods for details.


Constructor Summary
NamespaceContextImpl(NamespacePrefixMapper _prefixMapper)
           
 
Method Summary
 java.lang.String declareNamespace(java.lang.String namespaceUri, java.lang.String preferedPrefix, boolean requirePrefix)
          Declares a new namespace binding within the current context.
 void endElement()
          Ends the current element context and gets back to the parent context.
 void endNamespaceDecls()
          Reconciles the namespace URI/prefix mapping requests since the last startElement method invocation and finalizes them.
 NamespacePrefixMapper getNamespacePrefixMapper()
           
 java.lang.String getNamespaceURI(java.lang.String prefix)
          Obtains the namespace URI currently associated to the given prefix.
 java.lang.String getPrefix(java.lang.String namespaceUri)
           
 java.util.Iterator getPrefixes(java.lang.String namespaceUri)
           
 void iterateDeclaredPrefixes(PrefixCallback callback)
          Iterates all newly declared namespace prefixes for this element.
 void startElement()
          Sets the current bindings aside and starts a new element context.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NamespaceContextImpl

public NamespaceContextImpl(NamespacePrefixMapper _prefixMapper)
Method Detail

getNamespacePrefixMapper

public final NamespacePrefixMapper getNamespacePrefixMapper()

declareNamespace

public java.lang.String declareNamespace(java.lang.String namespaceUri,
                                         java.lang.String preferedPrefix,
                                         boolean requirePrefix)
Description copied from interface: NamespaceContext2
Declares a new namespace binding within the current context.

The prefix is automatically assigned by MarshallingContext. If a given namespace URI is already declared, nothing happens.

It is NOT an error to declare the same namespace URI more than once.

For marshalling to work correctly, all namespace bindings for an element must be declared between its startElement method and its endAttributes event. Calling the same method with the same parameter between the endAttributes and the endElement returns the same prefix.

Specified by:
declareNamespace in interface NamespaceContext2
Parameters:
requirePrefix - true if this is called for attribute name. false otherwise.
preferedPrefix - If the caller has any particular preference to the prefix, pass that as a parameter. The callee will try to honor it. Set null if there's no particular preference.
Returns:
returns the assigned prefix. If the namespace is bound to the default namespace, null is returned.

getPrefix

public java.lang.String getPrefix(java.lang.String namespaceUri)

getNamespaceURI

public java.lang.String getNamespaceURI(java.lang.String prefix)
Obtains the namespace URI currently associated to the given prefix. If no namespace URI is associated, return null.


getPrefixes

public java.util.Iterator getPrefixes(java.lang.String namespaceUri)

startElement

public void startElement()
Sets the current bindings aside and starts a new element context. This method should be called at the beginning of the startElement method of the Serializer implementation.


endNamespaceDecls

public void endNamespaceDecls()
Reconciles the namespace URI/prefix mapping requests since the last startElement method invocation and finalizes them. This method must be called after all the necessary namespace URIs for this element is reported through the declareNamespace method or the getPrefix method.


endElement

public void endElement()
Ends the current element context and gets back to the parent context. This method should be called at the end of the endElement method of derived classes.


iterateDeclaredPrefixes

public void iterateDeclaredPrefixes(PrefixCallback callback)
                             throws org.xml.sax.SAXException
Iterates all newly declared namespace prefixes for this element.

Throws:
org.xml.sax.SAXException


Copyright © 2005 tagnetic.org. All Rights Reserved.