public class OMSourcedElementImpl extends OMElementImpl implements OMSourcedElement
Element backed by an arbitrary data source. When necessary, this element will be expanded by creating a parser from the data source.
Whenever methods are added to the base OMElementImpl
class the corresponding methods must be added to this class (there's a unit test to verify that
this has been done, just to make sure nothing gets accidentally broken). If the method only
requires the element name and/or namespace information, the base class method can be called
directly. Otherwise, the element must be expanded into a full OM tree (by calling the forceExpand()
method) before the base class method is called. This will typically involve a
heavy overhead penalty, so should be avoided if possible.
attributes, DEFAULT_DEFAULT_NS_OBJECT, firstChild, lastChild, localName, namespaces, noPrefixNamespaceCounter, ns, qName
nextSibling, nodeType, parent, previousSibling
builder, done, factory
CDATA_SECTION_NODE, COMMENT_NODE, DTD_NODE, ELEMENT_NODE, ENTITY_REFERENCE_NODE, PI_NODE, SPACE_NODE, TEXT_NODE
ARRAY_ITEM_LOCALNAME, ARRAY_ITEM_NS_PREFIX, ARRAY_ITEM_NSURI, ARRAY_ITEM_QNAME, DATA_HANDLER, DEFAULT_CHAR_SET_ENCODING, DEFAULT_DEFAULT_NAMESPACE, DEFAULT_XML_VERSION, IS_BINARY, IS_DATA_HANDLERS_AWARE, PULL_TYPE_BUILDER, PUSH_TYPE_BUILDER, XMLATTRTYPE_CDATA, XMLATTRTYPE_ENTITIES, XMLATTRTYPE_ENTITY, XMLATTRTYPE_ID, XMLATTRTYPE_IDREF, XMLATTRTYPE_IDREFS, XMLATTRTYPE_NMTOKEN, XMLATTRTYPE_NMTOKENS, XMLATTRTYPE_NOTATION, XMLNS_NS_PREFIX, XMLNS_NS_URI, XMLNS_PREFIX, XMLNS_URI
Constructor and Description |
---|
OMSourcedElementImpl(QName qName,
OMFactory factory,
OMDataSource source)
Constructor that takes a QName instead of the local name and the namespace seperately
|
OMSourcedElementImpl(String localName,
OMNamespace ns,
OMContainer parent,
OMFactory factory) |
OMSourcedElementImpl(String localName,
OMNamespace ns,
OMContainer parent,
OMXMLParserWrapper builder,
OMFactory factory) |
OMSourcedElementImpl(String localName,
OMNamespace ns,
OMFactory factory) |
OMSourcedElementImpl(String localName,
OMNamespace ns,
OMFactory factory,
OMDataSource source)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
OMAttribute |
addAttribute(OMAttribute attr)
Inserts an attribute to this element.
|
OMAttribute |
addAttribute(String attributeName,
String value,
OMNamespace namespace)
Adds an attribute to this element.
|
void |
addChild(OMNode omNode)
Adds child to the element.
|
void |
build()
Parses this node and builds the object structure in memory.
|
void |
buildNext()
Forces the parser to proceed, if parser has not yet finished with the XML input.
|
void |
buildWithAttachments()
Parses this node and builds the object structure in memory.
|
OMElement |
cloneOMElement()
Clones this element.
|
OMNamespace |
declareDefaultNamespace(String uri)
We use "" to store the default namespace of this element.
|
OMNamespace |
declareNamespace(OMNamespace namespace)
Declares a namespace with the element as its scope.
|
OMNamespace |
declareNamespace(String uri,
String prefix)
Creates a namespace in the current element scope.
|
OMNode |
detach()
Removes this information item and its children, from the model completely.
|
void |
discard()
Method discard.
|
OMNamespace |
findNamespace(String uri,
String prefix)
Finds a namespace with the given uri and prefix, in the scope of the document.
|
OMNamespace |
findNamespaceURI(String prefix)
Checks for a namespace in the context of this element with the given prefix and returns the
relevant namespace object, if available.
|
Iterator |
getAllAttributes()
Returns a List of OMAttributes.
|
Iterator |
getAllDeclaredNamespaces()
Method getAllDeclaredNamespaces.
|
OMAttribute |
getAttribute(QName qname)
Returns a named attribute if present.
|
String |
getAttributeValue(QName qname)
Returns a named attribute's value, if present.
|
OMXMLParserWrapper |
getBuilder()
Method getBuilder.
|
Iterator |
getChildElements()
Returns a filtered list of children - just the elements.
|
Iterator |
getChildren()
Returns a collection of this element.
|
Iterator |
getChildrenWithLocalName(String localName)
Returns an iterator for child nodes matching the local name.
|
Iterator |
getChildrenWithName(QName elementQName)
Searches for children with a given QName and returns an iterator to traverse through the
OMNodes.
|
Iterator |
getChildrenWithNamespaceURI(String uri)
Returns an iterator for child nodes matching the namespace uri.
|
OMDataSource |
getDataSource()
Provide access to the data source encapsulated in OMSourcedElement.
|
OMNamespace |
getDefaultNamespace()
This will retrieve the default namespace of this element, if available. null returned if none
is found.
|
OMElement |
getFirstChildWithName(QName elementQName)
Method getFirstChildWithName.
|
OMElement |
getFirstElement()
Gets first element.
|
OMNode |
getFirstOMChild()
Method getFirstOMChild.
|
OMNode |
getFirstOMChildIfAvailable()
Get the first child if it is available.
|
int |
getLineNumber() |
String |
getLocalName()
Method getLocalName.
|
OMNamespace |
getNamespace()
Get the namespace this element is part of.
|
String |
getNamespaceURI()
Get the namespace URI of the element.
|
OMNode |
getNextOMSibling()
Gets the next sibling.
|
OMNode |
getNextOMSiblingIfAvailable()
Get the next sibling if it is available.
|
QName |
getQName()
Method getQName.
|
String |
getText()
Selects all the text children and concatenates them to a single string.
|
QName |
getTextAsQName()
OMText can contain its information as a QName as well.
|
String |
getTrimmedText()
Returns the concatination string of TRIMMED values of all OMText child nodes of this
element.
|
int |
getType()
Gets the type of node, as this is the super class of all the nodes.
|
javax.xml.stream.XMLStreamReader |
getXMLStreamReader()
Get a pull parser representation of this element with caching enabled.
|
javax.xml.stream.XMLStreamReader |
getXMLStreamReader(boolean cache)
Get a pull parser representation of this element.
|
javax.xml.stream.XMLStreamReader |
getXMLStreamReaderWithoutCaching()
Get a pull parser representation of this element with caching disabled.
|
void |
internalSerialize(javax.xml.stream.XMLStreamWriter writer,
boolean cache)
Serializes the node.
|
boolean |
isComplete()
Indicates whether parser has parsed this information item completely or not.
|
boolean |
isExpanded()
Check if element has been expanded into tree.
|
protected void |
notifyChildComplete()
This method will be called when one of the children becomes complete.
|
void |
removeAttribute(OMAttribute attr)
Method removeAttribute.
|
QName |
resolveQName(String qname)
Resolves a QName literal in the namespace context defined by this element and produces a
corresponding
QName object. |
void |
serialize(OutputStream output)
Serializes the node with caching.
|
void |
serialize(OutputStream output,
OMOutputFormat format)
Serializes the node with caching.
|
void |
serialize(Writer writer)
Serializes the node with caching.
|
void |
serialize(Writer writer,
OMOutputFormat format)
Serializes the node with caching.
|
void |
serialize(javax.xml.stream.XMLStreamWriter xmlWriter)
Serializes the information item with caching.
|
void |
serializeAndConsume(OutputStream output)
Serializes the node without caching.
|
void |
serializeAndConsume(OutputStream output,
OMOutputFormat format)
Serializes the node without caching.
|
void |
serializeAndConsume(Writer writer)
Serializes the node without caching.
|
void |
serializeAndConsume(Writer writer,
OMOutputFormat format)
Serializes the node without caching.
|
void |
serializeAndConsume(javax.xml.stream.XMLStreamWriter xmlWriter)
Serializes the information item without caching.
|
void |
setBuilder(OMXMLParserWrapper wrapper)
Method setBuilder.
|
void |
setComplete(boolean value)
setComplete override The OMSourcedElement has its own isolated builder/reader during the
expansion process.
|
OMDataSource |
setDataSource(OMDataSource dataSource)
setOMDataSource
|
void |
setFirstChild(OMNode node)
Method setFirstChild.
|
void |
setLastChild(OMNode omNode)
forcefully set the last element in this parent element
|
void |
setLineNumber(int lineNumber) |
void |
setLocalName(String localName)
Method setLocalName.
|
void |
setNamespace(OMNamespace namespace)
Method setNamespace.
|
void |
setNamespaceWithNoFindInCurrentScope(OMNamespace namespace)
This will not search the namespace in the scope nor will declare in the current element, as
in setNamespace(OMNamespace).
|
void |
setText(QName text)
Sets the text, as a QName, of the given element. caution - This method will wipe out all the
text elements (and hence any mixed content) before setting the text.
|
void |
setText(String text)
Sets the text of the given element. caution - This method will wipe out all the text elements
(and hence any mixed content) before setting the text.
|
String |
toString()
This is a convenience method only.
|
String |
toStringWithConsume()
This is a convenience method only.
|
getParent, getPreviousOMSibling, importNode, insertSiblingAfter, insertSiblingBefore, internalSerialize, internalSerializeAndConsume, setNextOMSibling, setParent, setPreviousOMSibling, setType
close, getOMFactory, serialize
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getParent, getPreviousOMSibling, insertSiblingAfter, insertSiblingBefore
close, getOMFactory, serialize
public OMSourcedElementImpl(String localName, OMNamespace ns, OMFactory factory, OMDataSource source)
localName
- ns
- factory
- source
- public OMSourcedElementImpl(QName qName, OMFactory factory, OMDataSource source)
qName
- factory
- source
- public OMSourcedElementImpl(String localName, OMNamespace ns, OMContainer parent, OMFactory factory)
public OMSourcedElementImpl(String localName, OMNamespace ns, OMContainer parent, OMXMLParserWrapper builder, OMFactory factory)
public OMSourcedElementImpl(String localName, OMNamespace ns, OMFactory factory)
public boolean isExpanded()
isExpanded
in interface OMSourcedElement
true
if expanded, false
if notpublic Iterator getChildElements()
OMElementImpl
getChildElements
in interface OMElement
getChildElements
in class OMElementImpl
OMContainer.getChildren()
,
OMContainer.getChildrenWithName(javax.xml.namespace.QName)
public OMNamespace declareNamespace(String uri, String prefix)
OMElementImpl
declareNamespace
in interface OMElement
declareNamespace
in class OMElementImpl
uri
- The namespace to declare in the current scope. The caller is expected to
ensure that the URI is a valid namespace name.prefix
- The prefix to associate with the given namespace. The caller is expected to
ensure that this is a valid XML prefix. If "" is given, first this will check
for an existing namespace with the same uri. If not found, a prefix will be
auto-generated.OMElement.declareNamespace(OMNamespace)
,
OMElement.findNamespace(String, String)
,
OMElement.getAllDeclaredNamespaces()
public OMNamespace declareDefaultNamespace(String uri)
OMElementImpl
declareDefaultNamespace
in interface OMElement
declareDefaultNamespace
in class OMElementImpl
public OMNamespace getDefaultNamespace()
OMElement
getDefaultNamespace
in interface OMElement
getDefaultNamespace
in class OMElementImpl
public OMNamespace declareNamespace(OMNamespace namespace)
OMElement
declareNamespace
in interface OMElement
declareNamespace
in class OMElementImpl
namespace
- The namespace to declare.OMElement.declareNamespace(String, String)
,
OMElement.findNamespace(String, String)
,
OMElement.getAllDeclaredNamespaces()
public OMNamespace findNamespace(String uri, String prefix)
OMElementImpl
findNamespace
in interface OMElement
findNamespace
in class OMElementImpl
uri
- The namespace to look for. If this is specified, prefix should be
null.prefix
- The prefix to look for. If this is specified, uri should be null.OMElement.declareNamespace(String, String)
,
OMElement.declareNamespace(OMNamespace)
,
OMElement.getAllDeclaredNamespaces()
public OMNamespace findNamespaceURI(String prefix)
OMElement
findNamespaceURI
in interface OMElement
findNamespaceURI
in class OMElementImpl
public Iterator getAllDeclaredNamespaces() throws OMException
OMElementImpl
getAllDeclaredNamespaces
in interface OMElement
getAllDeclaredNamespaces
in class OMElementImpl
OMException
OMElement.findNamespace(String, String)
,
OMElement.declareNamespace(String, String)
,
OMElement.declareNamespace(OMNamespace)
public Iterator getAllAttributes()
OMElementImpl
getAllAttributes
in interface OMElement
getAllAttributes
in class OMElementImpl
OMElement.getAttribute(javax.xml.namespace.QName)
,
OMElement.addAttribute(OMAttribute)
,
OMElement.addAttribute(String, String, OMNamespace)
public OMAttribute getAttribute(QName qname)
OMElementImpl
getAttribute
in interface OMElement
getAttribute
in class OMElementImpl
qname
- the qualified name to search forpublic String getAttributeValue(QName qname)
OMElementImpl
getAttributeValue
in interface OMElement
getAttributeValue
in class OMElementImpl
qname
- the qualified name to search forpublic OMAttribute addAttribute(OMAttribute attr)
OMElementImpl
The owner of the attribute is set to be the particular OMElement
.
If the attribute already has an owner then the attribute is cloned (i.e. its name,
value and namespace are copied to a new attribute) and the new attribute is added
to the element. It's owner is then set to be the particular OMElement
.
addAttribute
in interface OMElement
addAttribute
in class OMElementImpl
attr
- The attribute to add.OMAttributeImpl.equals(Object)
public OMAttribute addAttribute(String attributeName, String value, OMNamespace namespace)
OMElement
If the element already has an attribute with the same local name and namespace URI, then this
existing attribute will be removed from the element, i.e. this method will always create a
new OMAttribute
instance and never update an existing one.
addAttribute
in interface OMElement
addAttribute
in class OMElementImpl
attributeName
- The local name for the attribute.value
- The string value of the attribute. This function does not check to make sure that
the given attribute value can be serialized directly as an XML value. The caller
may, for example, pass a string with the character 0x01.namespace
- The namespace has to be one of the in scope namespace. i.e. the passed namespace
must be declared in the parent element of this attribute or ancestors of the
parent element of the attribute.public void removeAttribute(OMAttribute attr)
OMElementImpl
removeAttribute
in interface OMElement
removeAttribute
in class OMElementImpl
public void setBuilder(OMXMLParserWrapper wrapper)
OMElementImpl
setBuilder
in interface OMElement
setBuilder
in class OMElementImpl
public OMXMLParserWrapper getBuilder()
OMElementImpl
getBuilder
in interface OMContainer
getBuilder
in class OMElementImpl
public void setFirstChild(OMNode node)
OMElementImpl
setFirstChild
in interface OMContainerEx
setFirstChild
in interface OMElement
setFirstChild
in class OMElementImpl
public void setLastChild(OMNode omNode)
OMContainerEx
setLastChild
in interface OMContainerEx
setLastChild
in class OMElementImpl
public OMElement getFirstElement()
OMElementImpl
getFirstElement
in interface OMElement
getFirstElement
in class OMElementImpl
public javax.xml.stream.XMLStreamReader getXMLStreamReader(boolean cache)
OMContainer
XMLStreamReader
instance that produces a sequence of StAX events for this element and
its content. The sequence of events is independent of the state of this element and the value
of the cache
parameter, but the side effects of calling this method and
consuming the reader are different:
State | cache |
Side effects |
---|---|---|
The element is fully built (or was created programmatically). | true |
No side effects. The reader will synthesize StAX events from the object model. |
false |
||
The element is partially built, i.e. deferred parsing is taking place. | true |
When a StAX event is requested from the reader, it will built the information item (if necessary) and synthesize the StAX event. If the caller completely consumes the reader, the element will be completely built. Otherwise it will be partially built. |
false |
The reader will delegate to the underlying parser starting from the event corresponding to the last information item that has been built. In other words, after synthesizing a number of events, the reader will switch to delegation mode. An attempt to access the object model afterwards will result in an error. |
To free any resources associated with the returned reader, the caller MUST invoke the
XMLStreamReader.close()
method.
The returned reader MAY implement the extension defined by
DataHandlerReader
and any binary content will
be reported using this extension. More precisely, if the object model contains an
OMText
instance with OMText.isBinary()
returning true
(or
would contain such an instance after it has been fully built), then its data will always be
exposed through this extension.
The caller MUST NOT make any other assumption about the returned reader, in particular about its runtime type.
Note (non normative): For various reasons, existing code based on Axiom versions prior to 1.2.9 makes assumptions on the returned reader that should no longer be considered valid:
OMStAXWrapper
. While it is true that Axiom internally uses
this class to synthesize StAX events, it may wrap this instance in another reader
implementation. E.g. depending on the log level, the reader will be wrapped using
OMXMLStreamReaderValidator
. This was already the case in
Axiom versions prior to 1.2.9. It should also be noted that instances of
OMSourcedElement
(which extends the present interface) may return a reader that is
not implemented using OMStAXWrapper
.OMXMLStreamReader
interface of the returned reader to switch
off MTOM inlining using OMXMLStreamReader.setInlineMTOM(boolean)
. This has now been
deprecated and it is recommended to use
XOPEncodingStreamReader
instead.OMAttachmentAccessor
interface of the returned
reader to fetch attachments using OMAttachmentAccessor.getDataHandler(String)
. There
is no reason anymore to do so:OMXMLStreamReader.setInlineMTOM(boolean)
is used to disable MTOM inlining,
OMAttachmentAccessor.getDataHandler(String)
must be used to retrieve the binary
content. The fact that this method is deprecated removes the need for this.OMAttachmentAccessor.getDataHandler(String)
to retrieve the binary content. Starting
with 1.2.9 this is no longer be the case: as specified above, the sequence of events is
independent of the state of the object model and the value of the cache
parameter, and all binary content is reported through the
DataHandlerReader
extension.OMAttachmentAccessor.getDataHandler(String)
doesn't give access to the attachments in the SwA case (neither in 1.2.9 nor in previous
versions).
Code making any of these assumptions should be fixed, so that only XMLStreamReader
and DataHandlerReader
are used (and if
necessary, XOPEncodingStreamReader
).
getXMLStreamReader
in interface OMContainer
getXMLStreamReader
in class OMElementImpl
cache
- indicates if caching should be enabledXMLStreamReader
representation of this elementpublic javax.xml.stream.XMLStreamReader getXMLStreamReader()
OMContainer
OMContainer.getXMLStreamReader(boolean)
with cache
set to
true
.getXMLStreamReader
in interface OMContainer
getXMLStreamReader
in class OMElementImpl
XMLStreamReader
representation of this elementpublic javax.xml.stream.XMLStreamReader getXMLStreamReaderWithoutCaching()
OMContainer
OMContainer.getXMLStreamReader(boolean)
with cache
set to
false
.getXMLStreamReaderWithoutCaching
in interface OMContainer
getXMLStreamReaderWithoutCaching
in class OMElementImpl
XMLStreamReader
representation of this elementpublic void setText(String text)
OMElementImpl
setText
in interface OMElement
setText
in class OMElementImpl
public void setText(QName text)
OMElementImpl
setText
in interface OMElement
setText
in class OMElementImpl
text
- the QName valuepublic String getText()
OMElementImpl
getText
in interface OMElement
getText
in class OMElementImpl
public QName getTextAsQName()
OMElement
getTextAsQName
in interface OMElement
getTextAsQName
in class OMElementImpl
public String getLocalName()
OMElementImpl
getLocalName
in interface OMElement
getLocalName
in class OMElementImpl
public void setLocalName(String localName)
OMElementImpl
setLocalName
in interface OMElement
setLocalName
in class OMElementImpl
public OMNamespace getNamespace() throws OMException
OMElement
getNamespace
in interface OMElement
getNamespace
in class OMElementImpl
null
if the element has no namespaceOMException
public String getNamespaceURI()
OMElement
Node.getNamespaceURI()
(when called on an
Element
).getNamespaceURI
in interface OMElement
getNamespaceURI
in class OMElementImpl
null
if the element has no namespacepublic void setNamespace(OMNamespace namespace)
OMElementImpl
setNamespace
in interface OMElement
setNamespace
in class OMElementImpl
public void setNamespaceWithNoFindInCurrentScope(OMNamespace namespace)
OMElement
setNamespaceWithNoFindInCurrentScope
in interface OMElement
setNamespaceWithNoFindInCurrentScope
in class OMElementImpl
public QName getQName()
OMElementImpl
getQName
in interface OMElement
getQName
in class OMElementImpl
public String toStringWithConsume() throws javax.xml.stream.XMLStreamException
OMElement
toStringWithConsume
in interface OMElement
toStringWithConsume
in class OMElementImpl
javax.xml.stream.XMLStreamException
public QName resolveQName(String qname)
OMElement
QName
object. The implementation uses the algorithm defined by the XML
Schema specification. In particular, the namespace for an unprefixed QName is the default
namespace (not the null namespace), i.e. QNames are resolved in the same way as element
names.resolveQName
in interface OMElement
resolveQName
in class OMElementImpl
qname
- the QName literal to resolveQName
object, or null
if the QName can't be resolved, i.e.
if the prefix is not bound in the namespace context of this elementpublic OMElement cloneOMElement()
OMElement
cloneOMElement
in interface OMElement
cloneOMElement
in class OMElementImpl
public void setLineNumber(int lineNumber)
setLineNumber
in interface OMElement
setLineNumber
in class OMElementImpl
public int getLineNumber()
getLineNumber
in interface OMElement
getLineNumber
in class OMElementImpl
public void discard() throws OMException
OMElementImpl
discard
in interface OMNode
discard
in class OMElementImpl
OMException
public int getType()
OMElementImpl
getType
in interface OMNode
getType
in class OMElementImpl
OMNodeImpl.setType(int)
OMNodeImpl.setType(int)
public void internalSerialize(javax.xml.stream.XMLStreamWriter writer, boolean cache) throws javax.xml.stream.XMLStreamException
OMSerializableImpl
internalSerialize
in interface OMNodeEx
internalSerialize
in class OMElementImpl
cache
- indicates if caching should be enabledjavax.xml.stream.XMLStreamException
public void serialize(javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException
OMSerializable
OMSerializable.serialize(XMLStreamWriter, boolean)
with cache
set to
true
.serialize
in interface OMSerializable
serialize
in class OMSerializableImpl
javax.xml.stream.XMLStreamException
public void serialize(OutputStream output) throws javax.xml.stream.XMLStreamException
OMElement
serialize
in interface OMContainer
serialize
in interface OMElement
serialize
in interface OMNode
serialize
in class OMSerializableImpl
javax.xml.stream.XMLStreamException
public void serialize(Writer writer) throws javax.xml.stream.XMLStreamException
OMElement
serialize
in interface OMContainer
serialize
in interface OMElement
serialize
in interface OMNode
serialize
in class OMSerializableImpl
javax.xml.stream.XMLStreamException
public void serialize(OutputStream output, OMOutputFormat format) throws javax.xml.stream.XMLStreamException
OMElement
serialize
in interface OMContainer
serialize
in interface OMElement
serialize
in interface OMNode
serialize
in class OMSerializableImpl
javax.xml.stream.XMLStreamException
public void serialize(Writer writer, OMOutputFormat format) throws javax.xml.stream.XMLStreamException
OMElement
serialize
in interface OMContainer
serialize
in interface OMElement
serialize
in interface OMNode
serialize
in class OMSerializableImpl
javax.xml.stream.XMLStreamException
public void serializeAndConsume(javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException
OMSerializable
OMSerializable.serialize(XMLStreamWriter, boolean)
with cache
set to
false
.serializeAndConsume
in interface OMSerializable
serializeAndConsume
in class OMSerializableImpl
javax.xml.stream.XMLStreamException
public void serializeAndConsume(OutputStream output) throws javax.xml.stream.XMLStreamException
OMElement
serializeAndConsume
in interface OMContainer
serializeAndConsume
in interface OMElement
serializeAndConsume
in interface OMNode
serializeAndConsume
in class OMSerializableImpl
javax.xml.stream.XMLStreamException
public void serializeAndConsume(Writer writer) throws javax.xml.stream.XMLStreamException
OMElement
serializeAndConsume
in interface OMContainer
serializeAndConsume
in interface OMElement
serializeAndConsume
in interface OMNode
serializeAndConsume
in class OMSerializableImpl
javax.xml.stream.XMLStreamException
public void serializeAndConsume(OutputStream output, OMOutputFormat format) throws javax.xml.stream.XMLStreamException
OMElement
serializeAndConsume
in interface OMContainer
serializeAndConsume
in interface OMElement
serializeAndConsume
in interface OMNode
serializeAndConsume
in class OMSerializableImpl
javax.xml.stream.XMLStreamException
public void serializeAndConsume(Writer writer, OMOutputFormat format) throws javax.xml.stream.XMLStreamException
OMElement
serializeAndConsume
in interface OMContainer
serializeAndConsume
in interface OMElement
serializeAndConsume
in interface OMNode
serializeAndConsume
in class OMSerializableImpl
javax.xml.stream.XMLStreamException
public void addChild(OMNode omNode)
OMElementImpl
addChild
in interface OMContainer
addChild
in class OMElementImpl
public Iterator getChildrenWithName(QName elementQName)
OMElementImpl
getChildrenWithName
in interface OMContainer
getChildrenWithName
in class OMElementImpl
elementQName
- The QName specifying namespace and local name to match.OMElement
items that match the given QNamepublic Iterator getChildrenWithLocalName(String localName)
OMContainer
getChildrenWithLocalName
in interface OMContainer
getChildrenWithLocalName
in class OMElementImpl
OMElement
items that match the given localNamepublic Iterator getChildrenWithNamespaceURI(String uri)
OMContainer
getChildrenWithNamespaceURI
in interface OMContainer
getChildrenWithNamespaceURI
in class OMElementImpl
OMElement
items that match the given uripublic OMElement getFirstChildWithName(QName elementQName) throws OMException
OMElementImpl
getFirstChildWithName
in interface OMContainer
getFirstChildWithName
in class OMElementImpl
elementQName
- The QName to use for matching.qname
criteria, or null
if none is found.OMException
- If an error occurs during deferred parsing.OMContainer.getChildrenWithName(QName)
public Iterator getChildren()
OMElementImpl
getChildren
in interface OMContainer
getChildren
in class OMElementImpl
OMContainer.getFirstChildWithName(javax.xml.namespace.QName)
,
OMContainer.getChildrenWithName(javax.xml.namespace.QName)
public OMNode getFirstOMChild()
OMElementImpl
getFirstOMChild
in interface OMContainer
getFirstOMChild
in class OMElementImpl
public OMNode getFirstOMChildIfAvailable()
OMContainerEx
OMSerializable.isComplete()
may return false
when called on the child.
In contrast to OMContainer.getFirstOMChild()
, this method will never modify
the state of the underlying parser.getFirstOMChildIfAvailable
in interface OMContainerEx
getFirstOMChildIfAvailable
in class OMElementImpl
null
if the container has no children or
the builder has not yet started to build the first childpublic void buildNext()
OMElementImpl
buildNext
in interface OMContainer
buildNext
in class OMElementImpl
public OMNode detach() throws OMException
OMElementImpl
detach
in interface OMNode
detach
in class OMElementImpl
OMException
- If a node is not complete, the detach can trigger further parsing, which may
cause an exception.public OMNode getNextOMSibling() throws OMException
OMElementImpl
getNextOMSibling
in interface OMNode
getNextOMSibling
in class OMElementImpl
OMException
public OMNode getNextOMSiblingIfAvailable()
OMNodeEx
OMSerializable.isComplete()
may return false
when called on the sibling.
In contrast to OMNode.getNextOMSibling()
, this method will never modify
the state of the underlying parser.getNextOMSiblingIfAvailable
in interface OMNodeEx
getNextOMSiblingIfAvailable
in class OMNodeImpl
null
if the node has no next sibling or
the builder has not yet started to build the next siblingpublic String getTrimmedText()
OMElementImpl
getTrimmedText
in class OMElementImpl
public boolean isComplete()
OMSerializable
isComplete
in interface OMSerializable
isComplete
in class OMSerializableImpl
public String toString()
OMElement
toString
in interface OMElement
toString
in class OMElementImpl
public void buildWithAttachments()
OMNodeImpl
buildWithAttachments
in interface OMNode
buildWithAttachments
in class OMElementImpl
public void build() throws OMException
OMSerializableImpl
build
in interface OMSerializable
build
in class OMElementImpl
OMException
protected void notifyChildComplete()
OMElementImpl
notifyChildComplete
in class OMElementImpl
public OMDataSource getDataSource()
getDataSource
in interface OMSourcedElement
public OMDataSource setDataSource(OMDataSource dataSource)
setDataSource
in interface OMSourcedElement
dataSource
- new OMDataSourcepublic void setComplete(boolean value)
setComplete
in interface OMContainerEx
setComplete
in interface OMNodeEx
setComplete
in class OMNodeImpl
Copyright © 2004-2013 The Apache Software Foundation. All Rights Reserved.