Interface SqlNode

All Known Subinterfaces:
AppendableSqlNode, BlankNode, BlockNode, ClauseNode, RemovableClauseNode, SpaceStrippingNode, WhereClauseAwareNode
All Known Implementing Classes:
AbstractClauseNode, AbstractSqlNode, AnonymousNode, BindVariableNode, CommentNode, DistinctNode, ElseifNode, ElseNode, EmbeddedVariableNode, EndNode, EolNode, ExpandNode, ForBlockNode, ForNode, ForUpdateClauseNode, FragmentNode, FromClauseNode, GroupByClauseNode, HavingClauseNode, IfBlockNode, IfNode, InNode, LiteralVariableNode, LogicalOperatorNode, OptionClauseNode, OrderByClauseNode, OtherNode, ParensNode, PopulateNode, SelectClauseNode, SelectStatementNode, SetClauseNode, UpdateClauseNode, UpdateStatementNode, ValueNode, WhereClauseNode, WhitespaceNode, WordNode

public interface SqlNode
Represents a node in the parsed SQL statement tree structure.

SQL statements in Doma are parsed into a tree of SqlNode objects that can be traversed and processed using the visitor pattern. This interface defines the common behavior for all types of SQL nodes.

The implementation class is not required to be thread safe.

Treat this object as read-only when you cannot control its life cycle.

See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    <R, P> R
    accept(SqlNodeVisitor<R,P> visitor, P p)
    Accepts the visitor.
    Returns the children list.
  • Method Details

    • getChildren

      List<SqlNode> getChildren()
      Returns the children list.
      Returns:
      the children list
    • accept

      <R, P> R accept(SqlNodeVisitor<R,P> visitor, P p)
      Accepts the visitor.
      Type Parameters:
      R - the result type
      P - the parameter type
      Parameters:
      visitor - the visitor
      p - the parameter for the visitor
      Returns:
      the result
      Throws:
      DomaNullPointerException - if visitor is null