Class ConsumeSerializerVisitor
- java.lang.Object
-
- org.smooks.engine.delivery.sax.ng.SimpleSerializerVisitor
-
- org.smooks.engine.delivery.sax.ng.ConsumeSerializerVisitor
-
- All Implemented Interfaces:
ContentHandler,DOMElementVisitor,DOMVisitAfter,DOMVisitBefore,DOMVisitor,AfterVisitor,BeforeVisitor,ChildrenVisitor,ElementVisitor,SaxNgVisitor,SerializerVisitor,Visitor
- Direct Known Subclasses:
SystemConsumeSerializerVisitor
public class ConsumeSerializerVisitor extends SimpleSerializerVisitor implements DOMElementVisitor
Consumes a node and serializes it to the execution sink stream.Once this
ConsumeSerializerVisitorconsumes a node, no otherConsumeSerializerVisitorinstance, including thisConsumeSerializerVisitor, can re-serialize the node.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classConsumeSerializerVisitor.ElementMemento
-
Field Summary
Fields Modifier and Type Field Description protected BooleancloseEmptyElements-
Fields inherited from class org.smooks.engine.delivery.sax.ng.SimpleSerializerVisitor
domSerializer, rewriteEntities
-
-
Constructor Summary
Constructors Constructor Description ConsumeSerializerVisitor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcloseElement(Element element, Writer writer, ExecutionContext executionContext)protected voidonWrite(Consumer<Writer> writerConsumer, ExecutionContext executionContext, Node node)voidsetCloseEmptyElements(Optional<Boolean> closeEmptyElements)voidvisitAfter(Element element, ExecutionContext executionContext)Visits the end of anElement.voidvisitBefore(Element element, ExecutionContext executionContext)Visits the beginning of anElement.voidvisitChildElement(Element childElement, ExecutionContext executionContext)Visits a childElement.voidvisitChildText(CharacterData characterData, ExecutionContext executionContext)Visits the character data of anElement.voidwriteStartElement(Element element, ExecutionContext executionContext)-
Methods inherited from class org.smooks.engine.delivery.sax.ng.SimpleSerializerVisitor
postConstruct, setRewriteEntities, writeCharacterData, writeChildElements, writeElementCDATA, writeElementComment, writeElementEntityRef, writeElementNode, writeEndElement, writeStartElement
-
-
-
-
Field Detail
-
closeEmptyElements
protected Boolean closeEmptyElements
-
-
Method Detail
-
setCloseEmptyElements
@Inject public void setCloseEmptyElements(@Named("close.empty.elements") Optional<Boolean> closeEmptyElements)
-
writeStartElement
public void writeStartElement(Element element, ExecutionContext executionContext)
-
closeElement
protected void closeElement(Element element, Writer writer, ExecutionContext executionContext)
-
visitBefore
public void visitBefore(Element element, ExecutionContext executionContext) throws SmooksException
Description copied from interface:BeforeVisitorVisits the beginning of anElement.- Specified by:
visitBeforein interfaceBeforeVisitor- Specified by:
visitBeforein interfaceDOMVisitBefore- Overrides:
visitBeforein classSimpleSerializerVisitor- Parameters:
element- theElementrepresenting the beginning of the fragment. TheElement's ancestors are traversable unless the global configuration parametermaintain.element.stackis set to false. TheElement's child nodes are not traversable.executionContext- the currentExecutionContext- Throws:
SmooksException- Element processing failure.
-
visitChildText
public void visitChildText(CharacterData characterData, ExecutionContext executionContext) throws SmooksException
Description copied from interface:ChildrenVisitorVisits the character data of anElement. This method is invoked once for each chunk of character data. A shortcut for collecting character data is to annotate theSaxNgVisitorimplementation withorg.smooks.engine.delivery.sax.annotation.StreamResultWriter, or stash the character data in aTextAccumulatorMementoand restore theTextAccumulatorMementoinAfterVisitor.visitAfter(Element, ExecutionContext).- Specified by:
visitChildTextin interfaceChildrenVisitor- Overrides:
visitChildTextin classSimpleSerializerVisitor- Parameters:
characterData- thenodewhich includes character data but not any childElements. TheElement's ancestors are traversable unless the global configuration parametermaintain.element.stackis set to false.executionContext- the currentExecutionContext- Throws:
SmooksException
-
visitChildElement
public void visitChildElement(Element childElement, ExecutionContext executionContext) throws SmooksException
Description copied from interface:ChildrenVisitorVisits a childElement. This method is invoked once for each childElement.- Specified by:
visitChildElementin interfaceChildrenVisitor- Overrides:
visitChildElementin classSimpleSerializerVisitor- Parameters:
childElement- the childElementElement's ancestors are traversable unless the global configuration parametermaintain.element.stackis set to false. TheElement's child nodes are not traversable.executionContext- the currentExecutionContext- Throws:
SmooksException
-
visitAfter
public void visitAfter(Element element, ExecutionContext executionContext) throws SmooksException
Description copied from interface:AfterVisitorVisits the end of anElement.- Specified by:
visitAfterin interfaceAfterVisitor- Specified by:
visitAfterin interfaceDOMVisitAfter- Overrides:
visitAfterin classSimpleSerializerVisitor- Parameters:
element- theElementrepresenting the end of the fragment. TheElement's ancestors are traversable unless the global configuration parametermaintain.element.stackis set to false. TheElement's child nodes are traversable if one of the following conditions are met:max.node.depthglobal config parameter is set to 0 or greater than 1, or- this
AfterVisitorimplementsParameterizedVisitor.getMaxNodeDepth()which returns an integer greater than 1
executionContext- the currentExecutionContext- Throws:
SmooksException- Element processing failure.
-
onWrite
protected void onWrite(Consumer<Writer> writerConsumer, ExecutionContext executionContext, Node node)
-
-