TraversalHandler (cayenne-doc: Cayenne Documentation 5.0-M2 API)
Description: declaration: package: org.apache.cayenne.exp, interface: TraversalHandler

# Interface TraversalHandler

All Known Implementing Classes:
  `TraversalHelper`

public interface TraversalHandler
Expression visitor interface. Defines callback methods invoked when walking the expression using `Expression.traverse(TraversalHandler)`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default void`
  `endNode(Expression node, Expression parentNode)`
  Called during the traversal after an expression node children processing is finished.
  `default void`
  `finishedChild(Expression node, int childIndex, boolean hasMoreChildren)`
  Called during traversal after a child of expression has been visited.
  `default void`
  `objectNode(Object leaf, Expression parentNode)`
  Called during the traversal when a leaf non-expression node is encountered.
  `default void`
  `startNode(Expression node, Expression parentNode)`
  Called during the traversal before an expression node children processing is started.

- ## Method Details

  - ### finishedChild

    default void finishedChild(Expression node, int childIndex, boolean hasMoreChildren)
    Called during traversal after a child of expression has been visited.

  - ### startNode

    default void startNode(Expression node, Expression parentNode)
    Called during the traversal before an expression node children processing is started.
    Since:
      1.1

  - ### endNode

    default void endNode(Expression node, Expression parentNode)
    Called during the traversal after an expression node children processing is finished.
    Since:
      1.1

  - ### objectNode

    default void objectNode(Object leaf, Expression parentNode)
    Called during the traversal when a leaf non-expression node is encountered.