Package org.apache.cayenne.exp

## Interface TraversalHandler

- All Known Implementing Classes:
    `DB2QualifierTranslator`, `DerbyQualifierTranslator`, `FirebirdQualifierTranslator`, `FrontBaseQualifierTranslator`, `HSQLQualifierTranslator`, `OpenBaseQualifierTranslator`, `OracleQualifierTranslator`, `PostgresQualifierTranslator`, `QualifierTranslator`, `SQLiteQualifierTranslator`, `SybaseQualifierTranslator`, `TraversalHelper`, `TrimmingQualifierTranslator`

      public interface TraversalHandler

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

- - ### Method Summary

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

- - ### Method Detail

    - #### finishedChild

          void finishedChild​(Expression node,
                             int childIndex,
                             boolean hasMoreChildren)

      Called during traversal after a child of expression has been visited.

    - #### startNode

          void startNode​(Expression node,
                         Expression parentNode)

      Called during the traversal before an expression node children processing is started.
      Since:
        1.1

    - #### endNode

          void endNode​(Expression node,
                       Expression parentNode)

      Called during the traversal after an expression node children processing is finished.
      Since:
        1.1

    - #### objectNode

          void objectNode​(Object leaf,
                          Expression parentNode)

      Called during the traversal when a leaf non-expression node is encountered.