Interface ASTVisitor

All Superinterfaces:
Visitor

public interface ASTVisitor extends Visitor

A Visitor which handles nodes in Derby's abstract syntax trees. In addition to this contract, it is expected that an ASTVisitor will have a 0-arg constructor. You use an ASTVisitor like this:

// initialize your visitor
MyASTVisitor myVisitor = new MyASTVisitor();
myVisitor.initializeVisitor();
languageConnectionContext.setASTVisitor( myVisitor );

// then run your queries.
...

// when you're done inspecting query trees, release resources and
// remove your visitor
languageConnectionContext.setASTVisitor( null );
myVisitor.teardownVisitor();
  • Field Details

  • Method Details

    • initializeVisitor

      void initializeVisitor() throws StandardException
      Initialize the Visitor before processing any trees. User-written code calls this method before poking the Visitor into the LanguageConnectionContext. For example, an implementation of this method might open a trace file.
      Throws:
      StandardException
    • teardownVisitor

      void teardownVisitor() throws StandardException
      Final call to the Visitor. User-written code calls this method when it is done inspecting query trees. For instance, an implementation of this method might release resources, closing files it has opened.
      Throws:
      StandardException
    • begin

      void begin(String statementText, int phase) throws StandardException
      The compiler calls this method just before walking a query tree.
      Parameters:
      statementText - Text used to create the tree.
      phase - of compilation (AFTER_PARSE, AFTER_BIND, or AFTER_OPTIMIZE).
      Throws:
      StandardException
    • end

      void end(int phase) throws StandardException
      The compiler calls this method when it's done walking a tree.
      Parameters:
      phase - of compilation (AFTER_PARSE, AFTER_BIND, or AFTER_OPTIMIZE).
      Throws:
      StandardException