Package org.codehaus.staxmate.out
Class SMBufferedElement
java.lang.Object
org.codehaus.staxmate.out.SMOutputtable
org.codehaus.staxmate.out.SMOutputContainer
org.codehaus.staxmate.out.SMOutputElement
org.codehaus.staxmate.out.SMBufferedElement
- All Implemented Interfaces:
SMBufferable
Buffered version of
SMOutputElement; starts its life buffered,
so that it, its attributes and content are not automatically written to the
underlying stream, but only when buffered instance is released.
Since the base class properly already implements most of functionality, there is not much extra to do in this class.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanAll instances are initially buffered; state will be changed when instance is released.Fields inherited from class org.codehaus.staxmate.out.SMOutputElement
_localName, _namespace, _outputState, _parentDefaultNs, _parentNsCount, OUTPUT_ATTRS, OUTPUT_CHILDREN, OUTPUT_CLOSED, OUTPUT_NONEFields inherited from class org.codehaus.staxmate.out.SMOutputContainer
_context, _firstChild, _lastChild, _parentFields inherited from class org.codehaus.staxmate.out.SMOutputtable
_next -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedSMBufferedElement(SMOutputContext ctxt, String localName, SMNamespace ns) Note: although signature indicates we could throw an exception, this sub-class never does. -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean_output(SMOutputContext ctxt, boolean canClose) Method called to request that the entity output itself; either as much as it can without closing, or as much as it can if it is to get closed.protected voidbooleanvoidrelease()Method called to signal that the node need not be buffered any more (if not required to do so by parent/children restrictions)Methods inherited from class org.codehaus.staxmate.out.SMOutputElement
_canOutputNewChild, _childReleased, _forceOutput, _throwClosedForAttrs, _throwClosedForNsDecls, addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, doWriteEndElement, doWriteStartElement, getLocalName, getNamespace, getPath, linkParent, predeclareNamespaceMethods inherited from class org.codehaus.staxmate.out.SMOutputContainer
_closeAllButLastChild, _closeAndOutputChildren, _forceChildOutput, _linkNewChild, _throwClosed, _throwRelinking, _verifyNamespaceArg, addAndReleaseBuffered, addBuffered, addCData, addCData, addCharacters, addCharacters, addComment, addElement, addElement, addElementWithCharacters, addEntityRef, addProcessingInstruction, addValue, addValue, addValue, addValue, addValue, addValue, createBufferedElement, createBufferedFragment, getContext, getNamespace, getNamespace, getParent, getPath, setIndentationMethods inherited from class org.codehaus.staxmate.out.SMOutputtable
_linkNext, getNextMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.codehaus.staxmate.out.SMBufferable
linkParent
-
Field Details
-
_isBuffered
protected boolean _isBufferedAll instances are initially buffered; state will be changed when instance is released.
-
-
Constructor Details
-
SMBufferedElement
Note: although signature indicates we could throw an exception, this sub-class never does. But since super-class in itself could, we have to declare it as potentially being thrown.
-
-
Method Details
-
isBuffered
public boolean isBuffered()- Specified by:
isBufferedin interfaceSMBufferable- Returns:
- True if this object is still buffered; false if not
-
release
Description copied from interface:SMBufferableMethod called to signal that the node need not be buffered any more (if not required to do so by parent/children restrictions)- Specified by:
releasein interfaceSMBufferable- Throws:
XMLStreamException
-
_output
Description copied from class:SMOutputtableMethod called to request that the entity output itself; either as much as it can without closing, or as much as it can if it is to get closed. In both cases output can fail or be only a partial one: buffered nodes will not be output at all, and nodes with buffered children can only be partially output.- Overrides:
_outputin classSMOutputElement- Parameters:
ctxt- Output context to use for outputting this node (and its contents)canClose- If true, indicates that the node can (and should) be fully closed if possible. This (passing true) is usually done when a new sibling is added after a node (element/fragment); if so, current one should be recursively closed. If false, should only try to output as much as can be done without forcing closures.- Returns:
- True if the whole node could be output, ie. neither it nor its children are buffered.
- Throws:
XMLStreamException
-
_throwBuffered
protected void _throwBuffered()
-