All Known Implementing Classes:
NodeFactoryImpl

public interface NodeFactory
INTERNAL

Purpose: This interface specifies methods to create parse trees and parse tree nodes.

Responsibilities:

  • Used by the EJBQLParser to create an internal representation of an EJBQL query.
  • Abstract from concrete parse tree and parse tree node implementation classes.
  • The parse is created in a bottom-up fashion. All methods takes any child nodes for the parse tree node to be created as arguments. It is the responsibility of the new<XXX> method to set the parent-child relationship between the returned node any any of the child nodes passed as arguments.
  • Method Details

    • newSelectStatement

      Object newSelectStatement(int line, int column, Object select, Object from, Object where, Object groupBy, Object having, Object orderBy)
    • newUpdateStatement

      Object newUpdateStatement(int line, int column, Object update, Object set, Object where)
    • newDeleteStatement

      Object newDeleteStatement(int line, int column, Object delete, Object where)
    • newSelectClause

      Object newSelectClause(int line, int column, boolean distinct, List<Node> selectExprs)
    • newSelectClause

      Object newSelectClause(int line, int column, boolean distinct, List<Node> selectExprs, List<String> identifiers)
    • newFromClause

      Object newFromClause(int line, int column, List<Node> varDecls)
    • newWhereClause

      Object newWhereClause(int line, int column, Object condition)
    • newGroupByClause

      Object newGroupByClause(int line, int column, List<Node> items)
    • newHavingClause

      Object newHavingClause(int line, int column, Object arg)
    • newOrderByClause

      Object newOrderByClause(int line, int column, List<Node> items)
    • newUpdateClause

      Object newUpdateClause(int line, int column, String schema, String variable)
    • newDeleteClause

      Object newDeleteClause(int line, int column, String schema, String variable)
    • newRangeVariableDecl

      Object newRangeVariableDecl(int line, int column, String schema, String variable)
    • newJoinVariableDecl

      Object newJoinVariableDecl(int line, int column, boolean outer, Object path, String variable, Object downcast)
    • newFetchJoin

      Object newFetchJoin(int line, int column, boolean outer, Object path)
    • newCollectionMemberVariableDecl

      Object newCollectionMemberVariableDecl(int line, int column, Object path, String variable)
    • newVariableDecl

      Object newVariableDecl(int line, int column, Object path, String variable)
    • newDot

      Object newDot(int line, int column, Object left, Object right)
    • newVariableAccessOrTypeConstant

      Object newVariableAccessOrTypeConstant(int line, int column, String identifier)
    • newAttribute

      Object newAttribute(int line, int column, String identifier)
    • newQualifiedAttribute

      Object newQualifiedAttribute(int line, int column, String variable, String attribute)
    • newAvg

      Object newAvg(int line, int column, boolean ditinct, Object arg)
    • newMax

      Object newMax(int line, int column, boolean ditinct, Object arg)
    • newMin

      Object newMin(int line, int column, boolean ditinct, Object arg)
    • newSum

      Object newSum(int line, int column, boolean ditinct, Object arg)
    • newCount

      Object newCount(int line, int column, boolean ditinct, Object arg)
    • newOr

      Object newOr(int line, int column, Object left, Object right)
    • newAnd

      Object newAnd(int line, int column, Object left, Object right)
    • newEquals

      Object newEquals(int line, int column, Object left, Object right)
    • newNotEquals

      Object newNotEquals(int line, int column, Object left, Object right)
    • newGreaterThan

      Object newGreaterThan(int line, int column, Object left, Object right)
    • newGreaterThanEqual

      Object newGreaterThanEqual(int line, int column, Object left, Object right)
    • newLessThan

      Object newLessThan(int line, int column, Object left, Object right)
    • newLessThanEqual

      Object newLessThanEqual(int line, int column, Object left, Object right)
    • newPlus

      Object newPlus(int line, int column, Object left, Object right)
    • newMinus

      Object newMinus(int line, int column, Object left, Object right)
    • newMultiply

      Object newMultiply(int line, int column, Object left, Object right)
    • newDivide

      Object newDivide(int line, int column, Object left, Object right)
    • newUnaryPlus

      Object newUnaryPlus(int line, int column, Object arg)
    • newUnaryMinus

      Object newUnaryMinus(int line, int column, Object arg)
    • newNot

      Object newNot(int line, int column, Object arg)
    • newBetween

      Object newBetween(int line, int column, boolean not, Object arg, Object lower, Object upper)
    • newLike

      Object newLike(int line, int column, boolean not, Object string, Object pattern, Object escape)
    • newEscape

      Object newEscape(int line, int column, Object arg)
    • newIn

      Object newIn(int line, int column, boolean not, Object expr, List<Node> items)
    • newIsNull

      Object newIsNull(int line, int column, boolean not, Object expr)
    • newIsEmpty

      Object newIsEmpty(int line, int column, boolean not, Object expr)
    • newMemberOf

      Object newMemberOf(int line, int column, boolean not, Object expr, Object collection)
    • newPositionalParameter

      Object newPositionalParameter(int line, int colimn, String position)
    • newNamedParameter

      Object newNamedParameter(int line, int colimn, String name)
    • newBooleanLiteral

      Object newBooleanLiteral(int line, int column, Object value)
    • newIntegerLiteral

      Object newIntegerLiteral(int line, int column, Object value)
    • newLongLiteral

      Object newLongLiteral(int line, int column, Object value)
    • newFloatLiteral

      Object newFloatLiteral(int line, int column, Object value)
    • newDoubleLiteral

      Object newDoubleLiteral(int line, int column, Object value)
    • newStringLiteral

      Object newStringLiteral(int line, int column, Object value)
    • newNullLiteral

      Object newNullLiteral(int line, int column)
    • newConcat

      Object newConcat(int line, int column, List<Node> objects)
    • newSubstring

      Object newSubstring(int line, int column, Object string, Object start, Object length)
    • newTrim

      Object newTrim(int line, int column, NodeFactory.TrimSpecification trimSpec, Object trimChar, Object string)
    • newLower

      Object newLower(int line, int column, Object arg)
    • newUpper

      Object newUpper(int line, int column, Object arg)
    • newLocate

      Object newLocate(int line, int column, Object pattern, Object arg, Object startPos)
    • newLength

      Object newLength(int line, int column, Object arg)
    • newAbs

      Object newAbs(int line, int column, Object arg)
    • newSqrt

      Object newSqrt(int line, int column, Object arg)
    • newMod

      Object newMod(int line, int column, Object left, Object right)
    • newSize

      Object newSize(int line, int column, Object arg)
    • newCurrentDate

      Object newCurrentDate(int line, int column)
    • newCurrentTime

      Object newCurrentTime(int line, int column)
    • newCurrentTimestamp

      Object newCurrentTimestamp(int line, int column)
    • newFunc

      Object newFunc(int line, int column, String name, List<Node> parameters)
    • newSubquery

      Object newSubquery(int line, int column, Object select, Object from, Object where, Object groupBy, Object having)
    • newExists

      Object newExists(int line, int column, boolean not, Object subquery)
    • newIn

      Object newIn(int line, int column, boolean not, Object expr, Object subquery)
    • newAll

      Object newAll(int line, int column, Object subquery)
    • newAny

      Object newAny(int line, int column, Object subquery)
    • newSome

      Object newSome(int line, int column, Object subquery)
    • newAscOrdering

      Object newAscOrdering(int line, int column, Object arg)
    • newDescOrdering

      Object newDescOrdering(int line, int column, Object arg)
    • newConstructor

      Object newConstructor(int line, int colimn, String className, List<Node> args)
    • newSetClause

      Object newSetClause(int line, int colimn, List<Node> assignments)
    • newSetAssignmentClause

      Object newSetAssignmentClause(int line, int column, Object target, Object value)
    • newKey

      Object newKey(int line, int column, Object left)
    • newMapEntry

      Object newMapEntry(int line, int column, Object arg)
    • newType

      Object newType(int line, int column, Object left)
    • newCaseClause

      Object newCaseClause(int line, int column, Object base, List<Node> whenClauses, Object elseClause)
    • newCoalesceClause

      Object newCoalesceClause(int line, int column, List<Node> clauses)
    • newNullIfClause

      Object newNullIfClause(int line, int column, Object left, Object right)
    • newWhenClause

      Object newWhenClause(int line, int column, Object conditionClause, Object theClause)
    • newIndex

      Object newIndex(int line, int column, Object object)
    • newDateLiteral

      Object newDateLiteral(int line, int column, Object object)
    • newTimeLiteral

      Object newTimeLiteral(int line, int column, Object object)
    • newTimeStampLiteral

      Object newTimeStampLiteral(int line, int column, Object object)