Interface DomTripVisitor
-
public interface DomTripVisitorVisitor interface for structured depth-first tree traversal with enter/exit lifecycle callbacks.This complements the existing stream-based navigation (
Element.descendants(),ElementQuery) with a pattern better suited for transformations needing context tracking (depth, ancestors, accumulated state).Traversal Order:
The visitor performs a depth-first traversal: for each element,
enterElement(Element)is called first, then all children are visited recursively, and finallyexitElement(Element)is called.Flow Control:
Visit methods return an
DomTripVisitor.Actionto control traversal:DomTripVisitor.Action.CONTINUE- Continue normal traversalDomTripVisitor.Action.SKIP- Skip children of current element (only meaningful fromenterElement)DomTripVisitor.Action.STOP- Abort traversal entirely
Usage Example:
{@code element.accept(new DomTripVisitor() {- Since:
- 1.3.0
- See Also:
Node.accept(DomTripVisitor),TreeWalker
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classDomTripVisitor.ActionControls traversal flow during a visitor walk.
-
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default DomTripVisitor.ActionenterElement(Element element)Called when entering an element during depth-first traversal.default voidexitElement(Element element)Called after all children of an element have been visited.default DomTripVisitor.ActionvisitComment(Comment comment)Called for comment nodes during traversal.default DomTripVisitor.ActionvisitProcessingInstruction(ProcessingInstruction pi)Called for processing instruction nodes during traversal.default DomTripVisitor.ActionvisitText(Text text)Called for text nodes during traversal.
-
-
-
Method Detail
-
enterElement
default DomTripVisitor.Action enterElement(Element element)
Called when entering an element during depth-first traversal.This is called before visiting any of the element's children. Return
DomTripVisitor.Action.SKIPto skip the element's children, orDomTripVisitor.Action.STOPto abort the entire traversal.- Parameters:
element- the element being entered- Returns:
- the action to take:
DomTripVisitor.Action.CONTINUE,DomTripVisitor.Action.SKIP, orDomTripVisitor.Action.STOP
-
exitElement
default void exitElement(Element element)
Called after all children of an element have been visited.This is always called for elements that were entered (even if children were skipped via
DomTripVisitor.Action.SKIP), unless the traversal was stopped viaDomTripVisitor.Action.STOP.- Parameters:
element- the element being exited
-
visitText
default DomTripVisitor.Action visitText(Text text)
Called for text nodes during traversal.- Parameters:
text- the text node being visited- Returns:
- the action to take:
DomTripVisitor.Action.CONTINUEorDomTripVisitor.Action.STOP
-
visitComment
default DomTripVisitor.Action visitComment(Comment comment)
Called for comment nodes during traversal.- Parameters:
comment- the comment node being visited- Returns:
- the action to take:
DomTripVisitor.Action.CONTINUEorDomTripVisitor.Action.STOP
-
visitProcessingInstruction
default DomTripVisitor.Action visitProcessingInstruction(ProcessingInstruction pi)
Called for processing instruction nodes during traversal.- Parameters:
pi- the processing instruction being visited- Returns:
- the action to take:
DomTripVisitor.Action.CONTINUEorDomTripVisitor.Action.STOP
-
-