final class OutputElement
extends java.lang.Object
Note: these elements are designed to be reused within context of a single document output, ie. they are owned by the stream writer, and can be recycled by it, as necessary.
Modifier and Type | Class and Description |
---|---|
static class |
OutputElement.PrefixState |
Modifier and Type | Field and Description |
---|---|
(package private) java.lang.String |
_defaultNsURI
Namespace context end application may have supplied, and that
(if given) should be used to augment explicitly defined bindings.
|
(package private) WName |
_name
Prefixed name used for serialization.
|
(package private) NsBinder |
_nsBinder |
(package private) OutputElement |
_parent
Reference to either the parent (enclosing element) of this
element, when part of active output context; or link to next
reusable unused element after this one (if not part of active
context).
|
(package private) java.lang.String |
_uri
Namespace of the element, whatever prefix part of
_name
maps to. |
(package private) static byte |
BYTE_GT |
(package private) static byte |
BYTE_LT |
(package private) static byte |
BYTE_SLASH |
Modifier | Constructor and Description |
---|---|
private |
OutputElement() |
private |
OutputElement(OutputElement parent,
WName name,
java.lang.String uri,
NsBinder binder) |
Modifier and Type | Method and Description |
---|---|
void |
addPrefix(java.lang.String prefix,
java.lang.String uri) |
protected void |
addToPool(OutputElement poolHead)
Method called to temporarily link this instance to a pool, to
allow reusing of instances with the same reader.
|
OutputElement.PrefixState |
checkPrefixValidity(java.lang.String prefix,
java.lang.String nsURI,
javax.xml.namespace.NamespaceContext rootNsContext)
Method that verifies that passed-in non-empty prefix indeed maps
to specified non-empty namespace URI; and depending on how it goes
returns a status for caller.
|
protected OutputElement |
createChild(WName name)
Simplest factory method, which gets called when non-namespace
element output method is called.
|
protected OutputElement |
createChild(WName name,
java.lang.String uri)
Full factory method, used for 'normal' namespace qualified output
methods.
|
protected static OutputElement |
createRoot() |
java.lang.String |
generatePrefix(javax.xml.namespace.NamespaceContext rootNsContext,
java.lang.String prefixBase,
int[] seqArr) |
java.lang.String |
getDefaultNsURI() |
java.lang.String |
getExplicitPrefix(java.lang.String uri,
javax.xml.namespace.NamespaceContext rootNsContext)
Method similar to
getPrefix(java.lang.String) , but one that will not accept
the default namespace, only an explicit one. |
java.lang.String |
getLocalName() |
WName |
getName() |
java.lang.String |
getNameDesc() |
java.lang.String |
getNamespaceURI() |
java.lang.String |
getNamespaceURI(java.lang.String prefix) |
java.lang.String |
getNonNullNamespaceURI() |
java.lang.String |
getNonNullPrefix() |
OutputElement |
getParent() |
java.lang.String |
getPrefix(java.lang.String uri) |
java.util.Iterator<java.lang.String> |
getPrefixes(java.lang.String uri,
javax.xml.namespace.NamespaceContext rootNsContext) |
javax.xml.namespace.QName |
getQName() |
boolean |
hasEmptyDefaultNs() |
int |
hashCode() |
boolean |
hasPrefix() |
boolean |
isPrefixBoundTo(java.lang.String prefix,
java.lang.String nsURI,
javax.xml.namespace.NamespaceContext rootNsContext) |
boolean |
isPrefixUnbound(java.lang.String prefix,
javax.xml.namespace.NamespaceContext rootNsContext) |
boolean |
isRoot() |
void |
relink(OutputElement parent)
Method called to reuse a recycled instance, as is, with same
name.
|
private void |
relink(OutputElement parent,
WName name,
java.lang.String uri)
Method called to reuse a pooled instance, but with different
name
|
protected OutputElement |
reuseAsChild(OutputElement parent,
WName name) |
protected OutputElement |
reuseAsChild(OutputElement parent,
WName name,
java.lang.String nsURI) |
void |
setDefaultNsURI(java.lang.String uri) |
static final byte BYTE_LT
static final byte BYTE_GT
static final byte BYTE_SLASH
OutputElement _parent
WName _name
java.lang.String _uri
_name
maps to. Non-final to allow reuse.java.lang.String _defaultNsURI
NsBinder _nsBinder
private OutputElement()
private OutputElement(OutputElement parent, WName name, java.lang.String uri, NsBinder binder)
protected static OutputElement createRoot()
protected OutputElement createChild(WName name)
protected OutputElement createChild(WName name, java.lang.String uri)
protected OutputElement reuseAsChild(OutputElement parent, WName name)
protected OutputElement reuseAsChild(OutputElement parent, WName name, java.lang.String nsURI)
public void relink(OutputElement parent)
private void relink(OutputElement parent, WName name, java.lang.String uri)
protected void addToPool(OutputElement poolHead)
public OutputElement getParent()
public boolean isRoot()
public WName getName()
public java.lang.String getLocalName()
public java.lang.String getNonNullPrefix()
public boolean hasPrefix()
public java.lang.String getNameDesc()
public java.lang.String getNamespaceURI()
public java.lang.String getNonNullNamespaceURI()
public java.lang.String getDefaultNsURI()
public boolean hasEmptyDefaultNs()
public javax.xml.namespace.QName getQName()
public void setDefaultNsURI(java.lang.String uri)
public java.lang.String generatePrefix(javax.xml.namespace.NamespaceContext rootNsContext, java.lang.String prefixBase, int[] seqArr)
public void addPrefix(java.lang.String prefix, java.lang.String uri)
public java.lang.String getNamespaceURI(java.lang.String prefix)
public java.lang.String getPrefix(java.lang.String uri)
public java.util.Iterator<java.lang.String> getPrefixes(java.lang.String uri, javax.xml.namespace.NamespaceContext rootNsContext)
public java.lang.String getExplicitPrefix(java.lang.String uri, javax.xml.namespace.NamespaceContext rootNsContext)
getPrefix(java.lang.String)
, but one that will not accept
the default namespace, only an explicit one. Usually used when
trying to find a prefix for attributes.public OutputElement.PrefixState checkPrefixValidity(java.lang.String prefix, java.lang.String nsURI, javax.xml.namespace.NamespaceContext rootNsContext)
public boolean isPrefixBoundTo(java.lang.String prefix, java.lang.String nsURI, javax.xml.namespace.NamespaceContext rootNsContext)
public boolean isPrefixUnbound(java.lang.String prefix, javax.xml.namespace.NamespaceContext rootNsContext)
public int hashCode()
hashCode
in class java.lang.Object