Class EJBQLConditionTranslator
java.lang.Object
org.apache.cayenne.ejbql.EJBQLBaseVisitor
org.apache.cayenne.access.translator.ejbql.EJBQLConditionTranslator
- All Implemented Interfaces:
EJBQLExpressionVisitor
- Direct Known Subclasses:
DB2EJBQLConditionTranslator,DerbyEJBQLConditionTranslator,FirebirdEJBQLConditionTranslator,HSQLEJBQLConditionTranslator
public class EJBQLConditionTranslator extends EJBQLBaseVisitor
- Since:
- 3.0
-
Field Summary
Fields Modifier and Type Field Description protected EJBQLTranslationContextcontextprotected List<EJBQLMultiColumnOperand>multiColumnOperandsFields inherited from class org.apache.cayenne.ejbql.EJBQLBaseVisitor
continueFlag -
Constructor Summary
Constructors Constructor Description EJBQLConditionTranslator(EJBQLTranslationContext context) -
Method Summary
Modifier and Type Method Description protected voidaddMultiColumnOperand(EJBQLMultiColumnOperand operand)protected voidafterChild(EJBQLExpression e, String text, int childIndex)protected booleancheckNullParameter(EJBQLExpression expression, String toAppend)Checks expression for containing null input parameter.booleanvisitAbs(EJBQLExpression expression, int finishedChildIndex)booleanvisitAdd(EJBQLExpression expression, int finishedChildIndex)Called on visiting "add" expression and also after visiting every expression child.booleanvisitAggregate(EJBQLExpression expression)booleanvisitAll(EJBQLExpression expression)booleanvisitAnd(EJBQLExpression expression, int finishedChildIndex)Called on visiting "and" expression and also after visiting every expression child.booleanvisitAny(EJBQLExpression expression)booleanvisitBetween(EJBQLExpression expression, int finishedChildIndex)Called on visiting "between" expression and also after visiting every expression child.booleanvisitBooleanLiteral(EJBQLExpression expression)booleanvisitConcat(EJBQLExpression expression, int finishedChildIndex)booleanvisitCurrentDate(EJBQLExpression expression)booleanvisitCurrentTime(EJBQLExpression expression)booleanvisitCurrentTimestamp(EJBQLExpression expression)booleanvisitDbPath(EJBQLExpression expression, int finishedChildIndex)booleanvisitDecimalLiteral(EJBQLDecimalLiteral expression)booleanvisitDivide(EJBQLExpression expression, int finishedChildIndex)Called on visiting "divide" expression and also after visiting every expression child.booleanvisitEquals(EJBQLExpression expression, int finishedChildIndex)Called on visiting "equals" expression and also after visiting every expression child.booleanvisitEscapeCharacter(EJBQLExpression expression)booleanvisitExists(EJBQLExpression expression)booleanvisitGreaterOrEqual(EJBQLExpression expression, int finishedChildIndex)Called on visiting ">=" expression and also after visiting every expression child.booleanvisitGreaterThan(EJBQLExpression expression, int finishedChildIndex)Called on visiting ">=" expression and also after visiting every expression child.booleanvisitIdentificationVariable(EJBQLExpression expression)booleanvisitIn(EJBQLExpression expression, int finishedChildIndex)booleanvisitIntegerLiteral(EJBQLIntegerLiteral expression)booleanvisitIsEmpty(EJBQLExpression expression)booleanvisitIsNull(EJBQLExpression expression, int finishedChildIndex)booleanvisitLength(EJBQLExpression expression, int finishedChildIndex)booleanvisitLessOrEqual(EJBQLExpression expression, int finishedChildIndex)Called on visiting "<=" expression and also after visiting every expression child.booleanvisitLessThan(EJBQLExpression expression, int finishedChildIndex)Called on visiting "<" expression and also after visiting every expression child.booleanvisitLike(EJBQLExpression expression, int finishedChildIndex)Called on visiting "LIKE" expression and also after visiting every expression child.booleanvisitLocate(EJBQLExpression expression, int finishedChildIndex)booleanvisitLower(EJBQLExpression expression, int finishedChildIndex)booleanvisitMemberOf(EJBQLExpression expression)booleanvisitMod(EJBQLExpression expression, int finishedChildIndex)booleanvisitMultiply(EJBQLExpression expression, int finishedChildIndex)Called on visiting "*" expression and also after visiting every expression child.booleanvisitNamedInputParameter(EJBQLExpression expression)booleanvisitNamedInputParameterForIn(EJBQLExpression expression)This method is invoked from the processing of theEJBQLInin order to handle a query such as;booleanvisitNot(EJBQLExpression expression)booleanvisitNotEquals(EJBQLExpression expression, int finishedChildIndex)Called on visiting "!=" expression and also after visiting every expression child.booleanvisitOr(EJBQLExpression expression, int finishedChildIndex)Called on visiting "or" expression and also after visiting every expression child.booleanvisitPath(EJBQLExpression expression, int finishedChildIndex)Called on visiting "path" expression and also after visiting every expression child.booleanvisitPositionalInputParameter(EJBQLPositionalInputParameter expression)booleanvisitPositionalInputParameterForIn(EJBQLPositionalInputParameter expression)This method is invoked from the processing of theEJBQLInin order to handle a query such as;booleanvisitSize(EJBQLExpression expression)booleanvisitSqrt(EJBQLExpression expression, int finishedChildIndex)booleanvisitStringLiteral(EJBQLExpression expression)booleanvisitSubselect(EJBQLExpression expression)booleanvisitSubstring(EJBQLExpression expression, int finishedChildIndex)booleanvisitSubtract(EJBQLExpression expression, int finishedChildIndex)Called on visiting "subtract" expression and also after visiting every expression child.booleanvisitTrim(EJBQLExpression expression, int finishedChildIndex)booleanvisitTrimBoth(EJBQLExpression expression)booleanvisitTrimCharacter(EJBQLExpression expression)booleanvisitTrimLeading(EJBQLExpression expression)booleanvisitTrimTrailing(EJBQLExpression expression)booleanvisitUpper(EJBQLExpression expression, int finishedChildIndex)Methods inherited from class org.apache.cayenne.ejbql.EJBQLBaseVisitor
visitAbstractSchemaName, visitAscending, visitAverage, visitClassName, visitConstructor, visitConstructorParameter, visitConstructorParameters, visitCount, visitDelete, visitDescending, visitDistinct, visitFrom, visitFromItem, visitGroupBy, visitHaving, visitIdentifier, visitInnerFetchJoin, visitInnerJoin, visitMax, visitMin, visitNegative, visitOrderBy, visitOrderByItem, visitOuterFetchJoin, visitOuterJoin, visitPatternValue, visitSelect, visitSelectClause, visitSelectExpression, visitSelectExpressions, visitSum, visitTok, visitUpdate, visitUpdateField, visitUpdateItem, visitUpdateValue, visitWhere
-
Field Details
-
context
-
multiColumnOperands
-
-
Constructor Details
-
EJBQLConditionTranslator
-
-
Method Details
-
addMultiColumnOperand
-
visitAggregate
- Specified by:
visitAggregatein interfaceEJBQLExpressionVisitor- Overrides:
visitAggregatein classEJBQLBaseVisitor
-
visitAnd
Description copied from interface:EJBQLExpressionVisitorCalled on visiting "and" expression and also after visiting every expression child.- Specified by:
visitAndin interfaceEJBQLExpressionVisitor- Overrides:
visitAndin classEJBQLBaseVisitor- Parameters:
expression- an "and" node being visited.finishedChildIndex- "-1" when the expression node is visited for the first time, before its children; otherwise this is an index of a child just visited.
-
visitBetween
Description copied from interface:EJBQLExpressionVisitorCalled on visiting "between" expression and also after visiting every expression child.- Specified by:
visitBetweenin interfaceEJBQLExpressionVisitor- Overrides:
visitBetweenin classEJBQLBaseVisitor- Parameters:
expression- an "between" node being visited.finishedChildIndex- "-1" when the expression node is visited for the first time, before its children; otherwise this is an index of a child just visited.
-
visitExists
- Specified by:
visitExistsin interfaceEJBQLExpressionVisitor- Overrides:
visitExistsin classEJBQLBaseVisitor
-
visitIsEmpty
- Specified by:
visitIsEmptyin interfaceEJBQLExpressionVisitor- Overrides:
visitIsEmptyin classEJBQLBaseVisitor
-
visitSize
- Specified by:
visitSizein interfaceEJBQLExpressionVisitor- Overrides:
visitSizein classEJBQLBaseVisitor
-
visitMemberOf
- Specified by:
visitMemberOfin interfaceEJBQLExpressionVisitor- Overrides:
visitMemberOfin classEJBQLBaseVisitor
-
visitAll
- Specified by:
visitAllin interfaceEJBQLExpressionVisitor- Overrides:
visitAllin classEJBQLBaseVisitor
-
visitAny
- Specified by:
visitAnyin interfaceEJBQLExpressionVisitor- Overrides:
visitAnyin classEJBQLBaseVisitor
-
visitOr
Description copied from interface:EJBQLExpressionVisitorCalled on visiting "or" expression and also after visiting every expression child.- Specified by:
visitOrin interfaceEJBQLExpressionVisitor- Overrides:
visitOrin classEJBQLBaseVisitor- Parameters:
expression- an "or" node being visited.finishedChildIndex- "-1" when the expression node is visited for the first time, before its children; otherwise this is an index of a child just visited.
-
checkNullParameter
Checks expression for containing null input parameter. For that, we'll append IS NULL or IS NOT NULL instead of =null or <>null- Returns:
- whether replacement was done and there's no need for normal expression processing
-
visitEquals
Description copied from interface:EJBQLExpressionVisitorCalled on visiting "equals" expression and also after visiting every expression child.- Specified by:
visitEqualsin interfaceEJBQLExpressionVisitor- Overrides:
visitEqualsin classEJBQLBaseVisitor- Parameters:
expression- an "equals" node being visited.finishedChildIndex- "-1" when the expression node is visited for the first time, before its children; otherwise this is an index of a child just visited.
-
visitNamedInputParameterForIn
Description copied from interface:EJBQLExpressionVisitorThis method is invoked from the processing of the
EJBQLInin order to handle a query such as;p.toArtist IN (:artists)- Specified by:
visitNamedInputParameterForInin interfaceEJBQLExpressionVisitor- Overrides:
visitNamedInputParameterForInin classEJBQLBaseVisitor
-
visitNamedInputParameter
- Specified by:
visitNamedInputParameterin interfaceEJBQLExpressionVisitor- Overrides:
visitNamedInputParameterin classEJBQLBaseVisitor
-
visitNot
- Specified by:
visitNotin interfaceEJBQLExpressionVisitor- Overrides:
visitNotin classEJBQLBaseVisitor
-
visitNotEquals
Description copied from interface:EJBQLExpressionVisitorCalled on visiting "!=" expression and also after visiting every expression child.- Specified by:
visitNotEqualsin interfaceEJBQLExpressionVisitor- Overrides:
visitNotEqualsin classEJBQLBaseVisitor- Parameters:
expression- an "!=" node being visited.finishedChildIndex- "-1" when the expression node is visited for the first time, before its children; otherwise this is an index of a child just visited.
-
visitGreaterThan
Description copied from interface:EJBQLExpressionVisitorCalled on visiting ">=" expression and also after visiting every expression child.- Specified by:
visitGreaterThanin interfaceEJBQLExpressionVisitor- Overrides:
visitGreaterThanin classEJBQLBaseVisitor- Parameters:
expression- an ">=" node being visited.finishedChildIndex- "-1" when the expression node is visited for the first time, before its children; otherwise this is an index of a child just visited.
-
visitGreaterOrEqual
Description copied from interface:EJBQLExpressionVisitorCalled on visiting ">=" expression and also after visiting every expression child.- Specified by:
visitGreaterOrEqualin interfaceEJBQLExpressionVisitor- Overrides:
visitGreaterOrEqualin classEJBQLBaseVisitor- Parameters:
expression- an ">=" node being visited.finishedChildIndex- "-1" when the expression node is visited for the first time, before its children; otherwise this is an index of a child just visited.
-
visitLessOrEqual
Description copied from interface:EJBQLExpressionVisitorCalled on visiting "<=" expression and also after visiting every expression child.- Specified by:
visitLessOrEqualin interfaceEJBQLExpressionVisitor- Overrides:
visitLessOrEqualin classEJBQLBaseVisitor- Parameters:
expression- an "<=" node being visited.finishedChildIndex- "-1" when the expression node is visited for the first time, before its children; otherwise this is an index of a child just visited.
-
visitLessThan
Description copied from interface:EJBQLExpressionVisitorCalled on visiting "<" expression and also after visiting every expression child.- Specified by:
visitLessThanin interfaceEJBQLExpressionVisitor- Overrides:
visitLessThanin classEJBQLBaseVisitor- Parameters:
expression- an "<" node being visited.finishedChildIndex- "-1" when the expression node is visited for the first time, before its children; otherwise this is an index of a child just visited.
-
visitLike
Description copied from interface:EJBQLExpressionVisitorCalled on visiting "LIKE" expression and also after visiting every expression child.- Specified by:
visitLikein interfaceEJBQLExpressionVisitor- Overrides:
visitLikein classEJBQLBaseVisitor- Parameters:
expression- an "LIKE" node being visited.finishedChildIndex- "-1" when the expression node is visited for the first time, before its children; otherwise this is an index of a child just visited.
-
visitIn
- Specified by:
visitInin interfaceEJBQLExpressionVisitor- Overrides:
visitInin classEJBQLBaseVisitor
-
afterChild
-
visitIdentificationVariable
- Specified by:
visitIdentificationVariablein interfaceEJBQLExpressionVisitor- Overrides:
visitIdentificationVariablein classEJBQLBaseVisitor
-
visitDbPath
- Specified by:
visitDbPathin interfaceEJBQLExpressionVisitor- Overrides:
visitDbPathin classEJBQLBaseVisitor
-
visitPath
Description copied from interface:EJBQLExpressionVisitorCalled on visiting "path" expression and also after visiting every expression child.- Specified by:
visitPathin interfaceEJBQLExpressionVisitor- Overrides:
visitPathin classEJBQLBaseVisitor- Parameters:
expression- a "path" node being visited.finishedChildIndex- "-1" when the expression node is visited for the first time, before its children; otherwise this is an index of a child just visited.
-
visitIntegerLiteral
- Specified by:
visitIntegerLiteralin interfaceEJBQLExpressionVisitor- Overrides:
visitIntegerLiteralin classEJBQLBaseVisitor
-
visitDecimalLiteral
- Specified by:
visitDecimalLiteralin interfaceEJBQLExpressionVisitor- Overrides:
visitDecimalLiteralin classEJBQLBaseVisitor
-
visitEscapeCharacter
- Specified by:
visitEscapeCharacterin interfaceEJBQLExpressionVisitor- Overrides:
visitEscapeCharacterin classEJBQLBaseVisitor
-
visitIsNull
- Specified by:
visitIsNullin interfaceEJBQLExpressionVisitor- Overrides:
visitIsNullin classEJBQLBaseVisitor
-
visitPositionalInputParameterForIn
Description copied from interface:EJBQLExpressionVisitorThis method is invoked from the processing of the
EJBQLInin order to handle a query such as;p.toArtist IN (?1)- Specified by:
visitPositionalInputParameterForInin interfaceEJBQLExpressionVisitor- Overrides:
visitPositionalInputParameterForInin classEJBQLBaseVisitor
-
visitPositionalInputParameter
- Specified by:
visitPositionalInputParameterin interfaceEJBQLExpressionVisitor- Overrides:
visitPositionalInputParameterin classEJBQLBaseVisitor
-
visitBooleanLiteral
- Specified by:
visitBooleanLiteralin interfaceEJBQLExpressionVisitor- Overrides:
visitBooleanLiteralin classEJBQLBaseVisitor
-
visitStringLiteral
- Specified by:
visitStringLiteralin interfaceEJBQLExpressionVisitor- Overrides:
visitStringLiteralin classEJBQLBaseVisitor
-
visitSubselect
- Specified by:
visitSubselectin interfaceEJBQLExpressionVisitor- Overrides:
visitSubselectin classEJBQLBaseVisitor
-
visitAdd
Description copied from interface:EJBQLExpressionVisitorCalled on visiting "add" expression and also after visiting every expression child.- Specified by:
visitAddin interfaceEJBQLExpressionVisitor- Overrides:
visitAddin classEJBQLBaseVisitor- Parameters:
expression- an "add" node being visited.finishedChildIndex- "-1" when the expression node is visited for the first time, before its children; otherwise this is an index of a child just visited.
-
visitSubtract
Description copied from interface:EJBQLExpressionVisitorCalled on visiting "subtract" expression and also after visiting every expression child.- Specified by:
visitSubtractin interfaceEJBQLExpressionVisitor- Overrides:
visitSubtractin classEJBQLBaseVisitor- Parameters:
expression- an "subtract" node being visited.finishedChildIndex- "-1" when the expression node is visited for the first time, before its children; otherwise this is an index of a child just visited.
-
visitMultiply
Description copied from interface:EJBQLExpressionVisitorCalled on visiting "*" expression and also after visiting every expression child.- Specified by:
visitMultiplyin interfaceEJBQLExpressionVisitor- Overrides:
visitMultiplyin classEJBQLBaseVisitor- Parameters:
expression- an "*" node being visited.finishedChildIndex- "-1" when the expression node is visited for the first time, before its children; otherwise this is an index of a child just visited.
-
visitDivide
Description copied from interface:EJBQLExpressionVisitorCalled on visiting "divide" expression and also after visiting every expression child.- Specified by:
visitDividein interfaceEJBQLExpressionVisitor- Overrides:
visitDividein classEJBQLBaseVisitor- Parameters:
expression- an "divide" node being visited.finishedChildIndex- "-1" when the expression node is visited for the first time, before its children; otherwise this is an index of a child just visited.
-
visitCurrentDate
- Specified by:
visitCurrentDatein interfaceEJBQLExpressionVisitor- Overrides:
visitCurrentDatein classEJBQLBaseVisitor
-
visitCurrentTime
- Specified by:
visitCurrentTimein interfaceEJBQLExpressionVisitor- Overrides:
visitCurrentTimein classEJBQLBaseVisitor
-
visitCurrentTimestamp
- Specified by:
visitCurrentTimestampin interfaceEJBQLExpressionVisitor- Overrides:
visitCurrentTimestampin classEJBQLBaseVisitor
-
visitAbs
- Specified by:
visitAbsin interfaceEJBQLExpressionVisitor- Overrides:
visitAbsin classEJBQLBaseVisitor
-
visitSqrt
- Specified by:
visitSqrtin interfaceEJBQLExpressionVisitor- Overrides:
visitSqrtin classEJBQLBaseVisitor
-
visitMod
- Specified by:
visitModin interfaceEJBQLExpressionVisitor- Overrides:
visitModin classEJBQLBaseVisitor
-
visitConcat
- Specified by:
visitConcatin interfaceEJBQLExpressionVisitor- Overrides:
visitConcatin classEJBQLBaseVisitor
-
visitSubstring
- Specified by:
visitSubstringin interfaceEJBQLExpressionVisitor- Overrides:
visitSubstringin classEJBQLBaseVisitor
-
visitLower
- Specified by:
visitLowerin interfaceEJBQLExpressionVisitor- Overrides:
visitLowerin classEJBQLBaseVisitor
-
visitUpper
- Specified by:
visitUpperin interfaceEJBQLExpressionVisitor- Overrides:
visitUpperin classEJBQLBaseVisitor
-
visitLength
- Specified by:
visitLengthin interfaceEJBQLExpressionVisitor- Overrides:
visitLengthin classEJBQLBaseVisitor
-
visitLocate
- Specified by:
visitLocatein interfaceEJBQLExpressionVisitor- Overrides:
visitLocatein classEJBQLBaseVisitor
-
visitTrim
- Specified by:
visitTrimin interfaceEJBQLExpressionVisitor- Overrides:
visitTrimin classEJBQLBaseVisitor
-
visitTrimCharacter
- Specified by:
visitTrimCharacterin interfaceEJBQLExpressionVisitor- Overrides:
visitTrimCharacterin classEJBQLBaseVisitor
-
visitTrimLeading
- Specified by:
visitTrimLeadingin interfaceEJBQLExpressionVisitor- Overrides:
visitTrimLeadingin classEJBQLBaseVisitor
-
visitTrimTrailing
- Specified by:
visitTrimTrailingin interfaceEJBQLExpressionVisitor- Overrides:
visitTrimTrailingin classEJBQLBaseVisitor
-
visitTrimBoth
- Specified by:
visitTrimBothin interfaceEJBQLExpressionVisitor- Overrides:
visitTrimBothin classEJBQLBaseVisitor
-