Package org.apache.cayenne.access.sqlbuilder

## Interface NodeTreeVisitor

- All Known Implementing Classes:
    `BaseSQLTreeProcessor`, `DB2SQLTreeProcessor`, `DerbySQLTreeProcessor`, `FirebirdSQLTreeProcessor`, `FrontBaseSQLTreeProcessor`, `H2SQLTreeProcessor`, `HSQLTreeProcessor`, `IngressSQLTreeProcessor`, `MySQLTreeProcessor`, `OpenBaseSQLTreeProcessor`, `OracleSQLTreeProcessor`, `PostgreSQLTreeProcessor`, `SimpleNodeTreeVisitor`, `SQLGenerationVisitor`, `SQLiteTreeProcessor`, `SQLServerTreeProcessor`, `SybaseSQLTreeProcessor`, `TypeAwareSQLTreeProcessor`

      public interface NodeTreeVisitor

  Since:
    4.2

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `onChildNodeEnd​(Node parent, Node child, int index, boolean hasMore)` |
    `boolean` | `onChildNodeStart​(Node parent, Node child, int index, boolean hasMore)` |
    `void` | `onNodeEnd​(Node node)` |
    `boolean` | `onNodeStart​(Node node)` |

- - ### Method Detail

    - #### onNodeStart

          boolean onNodeStart​(Node node)

      Parameters:
        `node` - to visit
      Returns:
        false if visitor should stop

    - #### onChildNodeStart

          boolean onChildNodeStart​(Node parent,
                                   Node child,
                                   int index,
                                   boolean hasMore)

      Parameters:
        `parent` - node
        `child` - node
        `index` - of this child in parent
        `hasMore` - true if more children after this child
      Returns:
        false if visitor should stop

    - #### onChildNodeEnd

          void onChildNodeEnd​(Node parent,
                              Node child,
                              int index,
                              boolean hasMore)

    - #### onNodeEnd

          void onNodeEnd​(Node node)