# Interface NodeTreeVisitor

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

public interface NodeTreeVisitor

Since:
  4.2

- ## Method Summary

  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 Details

  - ### 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)