com.ctc.wstx.sw
Class SimpleOutputElement

java.lang.Object
  extended by com.ctc.wstx.sw.OutputElementBase
      extended by com.ctc.wstx.sw.SimpleOutputElement
All Implemented Interfaces:
NamespaceContext

public final class SimpleOutputElement
extends OutputElementBase

Class that encapsulates information about a specific element in virtual output stack for namespace-aware writers. It provides support for URI-to-prefix mappings as well as namespace mapping generation.

One noteworthy feature of the class is that it is designed to allow "short-term recycling", ie. instances can be reused within context of a simple document output. While reuse/recycling of such lightweight object is often useless or even counter productive, here it may be worth using, due to simplicity of the scheme (basically using a very simple free-elements linked list).


Field Summary
protected  HashSet mAttrSet
          Map used to check for duplicate attribute declarations, if feature is enabled.
 
Fields inherited from class com.ctc.wstx.sw.OutputElementBase
mDefaultNsURI, mNsMapping, mNsMapShared, mRootNsContext, PREFIX_MISBOUND, PREFIX_OK, PREFIX_UNBOUND
 
Method Summary
protected  void addToPool(SimpleOutputElement poolHead)
          Method called to temporarily link this instance to a pool, to allow reusing of instances with the same reader.
 void checkAttrWrite(String nsURI, String localName)
           
protected  SimpleOutputElement createChild(String localName)
          Simplest factory method, which gets called when a 1-argument element output method is called.
protected  SimpleOutputElement createChild(String prefix, String localName, String uri)
          Full factory method, used for 'normal' namespace qualified output methods.
static SimpleOutputElement createRoot()
           
 String getLocalName()
           
 QName getName()
           
 String getNameDesc()
           
 String getNamespaceURI()
           
 SimpleOutputElement getParent()
           
 String getPrefix()
           
 boolean isRoot()
           
protected  SimpleOutputElement reuseAsChild(SimpleOutputElement parent, String localName)
           
protected  SimpleOutputElement reuseAsChild(SimpleOutputElement parent, String prefix, String localName, String uri)
           
 void setDefaultNsUri(String uri)
           
 void setPrefix(String prefix)
           
protected  void setRootNsContext(NamespaceContext ctxt)
          Note: this method can and will only be called before outputting the root element.
 
Methods inherited from class com.ctc.wstx.sw.OutputElementBase
addPrefix, generateMapping, getDefaultNsUri, getExplicitPrefix, getNamespaceURI, getPrefix, getPrefixes, isPrefixValid, relink, throwOutputError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mAttrSet

protected HashSet mAttrSet
Map used to check for duplicate attribute declarations, if feature is enabled.

Method Detail

createRoot

public static SimpleOutputElement createRoot()

createChild

protected SimpleOutputElement createChild(String localName)
Simplest factory method, which gets called when a 1-argument element output method is called. It is, then, assumed to use the default namespce.


reuseAsChild

protected SimpleOutputElement reuseAsChild(SimpleOutputElement parent,
                                           String localName)
Returns:
New head of the recycle pool

reuseAsChild

protected SimpleOutputElement reuseAsChild(SimpleOutputElement parent,
                                           String prefix,
                                           String localName,
                                           String uri)

createChild

protected SimpleOutputElement createChild(String prefix,
                                          String localName,
                                          String uri)
Full factory method, used for 'normal' namespace qualified output methods.


addToPool

protected void addToPool(SimpleOutputElement poolHead)
Method called to temporarily link this instance to a pool, to allow reusing of instances with the same reader.


getParent

public SimpleOutputElement getParent()

isRoot

public boolean isRoot()
Specified by:
isRoot in class OutputElementBase

getNameDesc

public String getNameDesc()
Specified by:
getNameDesc in class OutputElementBase
Returns:
String presentation of the fully-qualified name, in "prefix:localName" format (no URI). Useful for error and debugging messages.

getPrefix

public String getPrefix()

getLocalName

public String getLocalName()

getNamespaceURI

public String getNamespaceURI()

getName

public QName getName()

checkAttrWrite

public void checkAttrWrite(String nsURI,
                           String localName)
                    throws XMLStreamException
Throws:
XMLStreamException

setPrefix

public void setPrefix(String prefix)

setDefaultNsUri

public void setDefaultNsUri(String uri)
Specified by:
setDefaultNsUri in class OutputElementBase

setRootNsContext

protected final void setRootNsContext(NamespaceContext ctxt)
Note: this method can and will only be called before outputting the root element.

Specified by:
setRootNsContext in class OutputElementBase


Copyright © 2011 Codehaus. All Rights Reserved.