Package org.eclipse.persistence.jpa.jpql.parser
package org.eclipse.persistence.jpa.jpql.parser
This is the core of Hermes, this package contains the classes that can parse a JPQL query.
-
ClassDescriptionThe ABS function removes the minus sign from a specified argument and returns the absolute value, which is always a positive number or zero.This
AbsExpressionFactory
creates a newAbsExpression
when the portion of the query to parse starts with ABS.Conditional expressions are composed of other conditional expressions, comparison operations, logical operations, path expressions that evaluate to boolean values, boolean literals, and boolean input parameters.ThisExpression
takes care of parsing an expression that encapsulates two expressions separated by a comma.The abstract implementation ofEclipseLinkExpressionVisitor
.ThisExpressionVisitor
traverses the entire hierarchy of the JPQL parsed tree by going down into each of the children of any givenExpression
.ThisEclipseLinkExpressionVisitor
traverses up the hierarchy.This expression handles parsing the identifier followed by an expression encapsulated within parenthesis.This is the abstract definition of all the parts used to create the tree hierarchy representing the parsed JPQL query.The abstract definition ofExpressionVisitor
, which implements all the methods but does nothing.The FROM clause of a query defines the domain of the query by declaring identification variables.The abstract definition of aJPQLGrammar
.This factory is responsible to return the right literal expression.An ordering clause allows the objects or values that are returned by the query to be ordered.An identification variable followed by the navigation operator (.) and a state field or association field is a path expression.An abstract schema name designates the abstract schema type over which the query ranges.The query BNF for an abstract schema name.ThisAbstractSchemaNameFactory
creates a newAbstractSchemaName
.The SELECT clause denotes the query result.A query is an operation that retrieves data from one or more tables or views.This expression handles parsing a JPQL identifier followed by an expression encapsulated within parenthesis.ThisExpressionVisitor
traverses the entire hierarchy of the JPQL parsed tree by going down into each of the children of any givenExpression
.ThisExpressionVisitor
traverses up the hierarchy.ThisExpression
takes care of parsing an expression that encapsulates three expressions separated by a comma.One of the four binary operators.The query BNF for an aggregate expression.In the SELECT clause the result of a query may be the result of an aggregate function applied to a path expression.An ALL conditional expression is a predicate that istrue
if the comparison operation istrue
for all values in the result of the subquery or the result of the subquery is empty.The query BNF for an all or any expression.ThisAllOrAnyExpressionFactory
creates a newAllOrAnyExpression
when the portion of the query to parse starts with ALL, ANY or SOME.The AND logical operator chains multiple criteria together.ThisAndExpression
creates a newAdditionExpression
when the portion of the query to parse starts with AND.This visitor allows a subclass to simply overrideAnonymousExpressionVisitor.visit(Expression)
and perform the same task for all visitedexpressions
.This expression represents an arithmetic expression, which means the first and second expressions are aggregated with an arithmetic sign.The query BNF for an arithmetic expression.ThisExpressionFactory
creates a new expression when the portion of the query to parse starts with an arithmetic identifier.This expression simply adds a plus or minus sign to the arithmetic primary expression.The query BNF for an arithmetic factor expression.The query BNF for an arithmetic primary expression.The query BNF for an arithmetic term expression.AnAS OF
clause is part of a flashback query, which provides ways to view past states of database objects, or to return database objects to a previous state, without using traditional point-in-time recovery.The query BNF for theAS OF
clause.ThisAsOfClauseFactory
creates a newAsOfClause
when the portion of the JPQL query to parse starts with AS OF.One of the aggregate functions.ThisAvgFunctionFactory
creates a newAvgFunction
when the portion of the query to parse starts with AVG.This wraps anotherExpression
that was correctly parsed by it is located in an invalid location within the JPQL query.The query BNF used for an expression that is invalid.ThisBadExpressionFactory
creates a newBadExpression
when the portion of the query to parse is malformed.Used in conditional expression to determine whether the result of an expression falls within an inclusive range of values.The query BNF for the between expression.ThisBetweenExpressionFactory
creates a newBetweenExpression
when the portion of the query to parse starts with BETWEEN or NOT BETWEEN.The query BNF for a boolean expression.The query BNF for a boolean literal expression.The query BNF for a boolean primary expression.BNF:general_case_expression ::= CASE when_clause {when_clause}* ELSE scalar_expression END
or BNF:simple_case_expression ::= CASE case_operand simple_when_clause {simple_when_clause}* ELSE scalar_expression END
The query BNF for a case expression.ThisCaseExpressionFactory
creates a newCaseExpression
when the portion of the query to parse starts with CASE.The query BNF for the case operand specified in the case expression.The CAST function cast value to a different type.The query BNF for the CAST function.ThisCastExpressionFactory
creates a newCastExpression
when the portion of the query to parse starts with CAST.A COALESCE expression returnsnull
if all its arguments evaluate tonull
, and the value of the first non-null
argument otherwise.The query BNF for a coalesce expression.ThisCoalesceExpressionFactory
creates a newCoalesceExpression
when the portion of the query to parse starts with COALESCE.ACollectionExpression
wraps many expression which they are separated by spaces and/or commas.An identification variable declared by a collection member declaration ranges over values of a collection obtained by navigation using a path expression.The query BNF for a collection member declaration expression.ThisCollectionMemberDeclarationFactory
creates a newCollectionMemberDeclaration
when the portion of the query to parse starts with IN.This expression tests whether the designated value is a member of the collection specified by the collection-valued path expression.The query BNF for a collection member expression.ThisCollectionMemberExpressionFactory
creates a newCollectionMemberExpression
when the portion of the query to parse starts with MEMBER, MEMBER OF, NOT MEMBER or NOT MEMBER OF.Acollection_valued_field
is designated by the name of an association field in a one-to-many or a many-to-many relationship or by the name of an element collection field.The query BNF for a collection-valued path expression.Only the values of like types are permitted to be compared.The query BNF for a comparison expression.ThisComparisonExpressionFactory
creates a newComparisonExpression
when the portion of the query to parse starts with <, >, <>, <=, >= or =.A compound expression has a left and right expressions combined by an identifier.The CONCAT function returns a string that is a concatenation of its arguments.ThisConcatExpressionFactory
creates a newConcatExpression
when the portion of the query to parse starts with CONCAT.The query BNF for a conditional expression.The query BNF for a conditional factor expression.The query BNF for a conditional primary expression.The query BNF for a conditional term expression.The CONNECT BY clause allows selecting rows in a hierarchical order using the hierarchical query clause.The query BNF for aCONNECT BY
clause.ThisConnectByClauseFactory
creates a newConnectByClause
when the portion of the query to parse starts with CONNECT BY.In the SELECT clause a constructor may be used in the SELECT list to return one or more Java instances.The query BNF for a constructor expression.ThisConstructorExpressionFactory
creates a newConstructorExpression
when the portion of the query to parse starts with NEW.The query BNF for a constructor item expression.One of the aggregate functions.ThisCountFunctionFactory
creates a newCountFunction
when the portion of the query to parse starts with COUNT.This expression represents the database specific data type, which may include size and scale.The query BNF for the database type.ThisExpression
represents a date or time.The query BNF for a date/time expression.ThisDateTimeFactory
creates a newDateTime
when the portion of the query to parse starts with CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP or with the JDBC escape format used for date/time/timestamp.The query BNF for a date/time primary expression.The query BNF for a date/time/timestamp expression.ThisJPQL grammar
provides support for parsing JPQL queries defined by the JPA 2.1 functional specification and the EclipseLink 2.6.ThisJPQL grammar
provides support for parsing JPQL queries defined in the latest JPA functional specification.An implementation of anExpression
that wraps a string.This is the delete clause of the delete statement.The query BNF for the delete clause.ThisDeleteClauseFactory
creates a newDeleteClause
when the portion of the query to parse starts with DELETE FROM.The query BNF for a range variable declaration expression used by the DELETE clause, which accepts collection and aggregate expression, which is used by invalid queries.Bulk delete operation apply to entities of a single entity class (together with its subclasses, if any).The query BNF for the delete statement.ThisDeleteStatementFactory
creates a newDeleteStatement
when the portion of the query to parse starts with DELETE FROM.The query BNF for a derived collection member declaration expression.One of the four binary operators.This visitor allows a subclass to simply overrideAnonymousExpressionVisitor.visit(Expression)
and perform the same task for all visitedexpressions
including those defined by EclipseLink.TheExpressionVisitor
that adds support for the additional JPQL identifiers supported by EclipseLink that is not defined in the JPA function specification.ThisJPQL grammar
provides support for parsing JPQL queries defined in JSR-220 - Enterprise JavaBeans 3.0.ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-337 - Java Persistence 2.0.ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-337 - Java Persistence 2.0 and the additional support provided by EclipseLink 2.1.ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-337 - Java Persistence 2.0.ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-337 - Java Persistence 2.0.ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-338 - Java Persistence 2.1 and the additional support provided by EclipseLink 2.4.ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-338 - Java Persistence 2.1 and the additional support provided by EclipseLink 2.5.ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-338 - Java Persistence 2.1 and the additional support provided by EclipseLink 2.6.The query BNF for a else expression specified in the case expression.This expression tests whether or not the collection designated by the collection-valued path expression is empty (i.e, has no elements).The query BNF for an empty collection comparison expression.ThisExpression
represents an identification variable that maps aMap
property, either the key, the value or aMap.Entry
).The query BNF for a entity expression.The query BNF for a entity or value expression.The query BNF for the TYPE expression.ThisExpression
wraps the name of an entity type.The query BNF for the entity type literal.This factory creates anEntityTypeLiteral
, which wraps an entity name.An identification variable qualified by theENTRY
operator is a path expression.ThisEntryExpressionFactory
creates a newEntryExpression
when the portion of the query to parse starts with ENTRY.The query BNF for a enum expression.The query BNF for an enumeration constant expression.The query BNF for an enum primary expression.An EXISTS expression is a predicate that istrue
only if the result of the subquery consists of one or more values and that isfalse
otherwise.The query BNF for the exists expression.ThisExistsExpressionFactory
creates a newExistsExpression
when the portion of the query to parse starts with EXISTS.This is the root interface of the parsed tree representation of a JPQL query.AnExpressionFactory
is responsible to parse a portion of JPQL query which starts with one of the factory's JPQL identifiers.This registry contains the necessary information used by Hermes parser.This interface is used to traverse the JPQL parsed tree.ThisExpressionVisitor
wraps anotherExpressionVisitor
and delegates all its calls to it (the delegate).The EXTRACT function extracts a date part from a date/time value.The query BNF for theEXTRACT
function.ThisExtractExpressionFactory
creates a newExtractExpression
when the portion of the query to parse starts with EXTRACT.The FROM clause of a query defines the domain of the query by declaring identification variables.The query BNF for the from clause.ThisFromClauseFactory
creates a newFromClause
when the portion of the query to parse starts with FROM.This visitor makes sure that all path expressions are fully qualified with a "virtual" identification variable if the range variable declaration does not define one.This expression adds support to call native database functions.The query BNF for the EclipseLink's function expression.ThisFunctionExpressionFactory
creates a newFunctionExpression
when the portion of the query to parse starts with an identifier related to a SQL function.The number of parameters aFunctionExpression
can have.The query BNF for the parameters of a function expression.The query BNF for a function expression returning a date/time value.The query BNF for a function expression returning a numeric value.The query BNF for a function expression returning a string value.The query BNF for a general case expression.ThisValueExpressionFactory
creates a general identification variable, which is either with the identifier KEY or VALUE and then checks the existence of a path expression.The query BNF for a general identification variable expression.A genericJPQLQueryBNF
can be used to manually create a new BNF without having to create a concrete instance.The GROUP BY construct enables the aggregation of values according to the properties of an entity class.The query BNF for the group by clause.ThisGroupByClauseFactory
creates a newGroupByClause
when the portion of the query to parse starts with GROUP BY.The query BNF for a group by item expression.ThisGroupByItemFactory
is responsible to return the right expression and to support invalid expression as well.The HAVING construct enables conditions to be specified that further restrict the query result as restrictions upon the groups.The query BNF for the having clause.ThisHavingClauseFactory
creates a newHavingClause
when the portion of the query to parse starts with HAVING.If a table contains hierarchical data, then rows can be selected in a hierarchical order using the hierarchical query clause.ThisHierarchicalQueryClauseFactory
creates a newHierarchicalQueryClause
when the portion of the query to parse starts with eitherVERSIONS
orAS OF
.An identification variable is a valid identifier declared in the FROM clause of a query.The query BNF for an identification variable expression.An identification variable is a valid identifier declared in the FROM clause of a query.The query BNF for an identification variable declaration expression.ThisIdentificationVariableDeclarationFactory
handles parsing the JPQL fragment within theFROM
clause.ThisIdentificationVariableFactory
creates a newIdentificationVariable
.A role describes the purpose of the JPQL identifier.The INDEX function returns an integer value corresponding to the position of its argument in an ordered list.ThisIndexExpressionFactory
creates a newIndexExpression
when the portion of the query to parse starts with INDEX.The state field path expression must have a string, numeric, or enum value.The query BNF for an in expression.The query BNF describes the expression being tested by theIN
expression.ThisInExpressionFactory
creates a newInExpression
when the portion of the query to parse starts with IN or NOT IN.The query BNF for the items of an IN expression.Either positional or named parameters may be used.The query BNF for a input parameter.The query BNF for the parameter of an aggregate expression.The query BNF for the lower and upper expressions defined in the between expression.The query BNF for the parameters defined in the coalesce expression.The query BNF for the items of a COLUMN expression.The query BNF for the COUNT expression's encapsulated expressions.The query BNF for the parameter of the COUNT function.The query BNF for the parameters defined in the type expression.The query BNF for theFROM
declaration, basically what follows theFROM
identifier.The query BNF for what's following the join identifier.The query BNF for the parameter of theLENGTH
expression.The query BNF for the first two parameters of theLOCATE
expression.The query BNF for the third parameter of theLOCATE
expression.The query BNF for the parameter of theLOWER
expression.The query BNF for the parameters of theMOD
expression.The query BNF for what's following the order by identifier.The query BNF for an order by item.ThisInternalOrderByItemFactory
creates either aStateFieldPathExpression
or anIdentificationVariable
.The query BNF for the from declaration used in a subquery.The query BNF for the parameter of theSQRT
expression.The query BNF for the position parameters of theSUBSTRING
expression.The query BNF for the parameter of theLENGTH
expression.The query BNF for what's following the update identifier.The query BNF for the parameter of theUPPER
expression.The query BNF for the expression following the WHEN identifier.ThisIsExpressionFactory
creates a new expression when the portion of the query to parse starts with IS.A JOIN enables the fetching of an association as a side effect of the execution of a query.The query BNF for a join association path expression.The query BNF for the join expression.ThisJoinFactory
creates a newJoin
when the portion of the query to parse starts with JOIN or FETCH JOIN, respectively.The query BNF for the fetch join expression.AJPQLExpression
is the root of the parsed tree representation of a JPQL query.A JPQL grammar defines how a JPQL query can be parsed.ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-220 - Enterprise JavaBeans 3.0.ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-337 - Java Persistence 2.0.ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-338 - Java Persistence 2.1.This defines a single Backus-Naur Form (BNF) of the JPQL grammar.The query BNF for the JPQL expression.An identification variable qualified by theKEY
operator is a path expression.ThisKeyExpressionFactory
creates a newKeyExpression
when the portion of the query to parse starts with KEY.The expression representing some keywords:TRUE
,FALSE
orNULL
.ThisKeywordExpressionFactory
creates a newKeywordExpression
when the portion of the JPQL query to parse isFALSE
,TRUE
orNULL
.The LENGTH function returns the length of the string in characters as an integer.ThisLengthExpressionFactory
creates a newLengthExpression
when the portion of the query to parse starts with LENGTH.The LIKE condition is used to specify a search for a pattern.The query BNF for a expression.This BNF is used when parsing an invalid fragment or to extend the default grammar.ThisLikeExpressionFactory
creates a newLikeExpression
when the portion of the query to parse starts with LIKE or NOT LIKE.The query BNF for literals, which is based on the listing defined in section 4.6.1 of the Java Specification document for JPA 2.0.ThisLiteralExpressionFactory
is responsible to return the right literal expression.The LOCATE function returns the position of a given string within a string, starting the search at a specified position.ThisLocateExpressionFactory
creates a newLocateExpression
when the portion of the query to parse starts with LOCATE.This expression represents a logical expression, which means the first and second expressions are aggregated with either AND or OR.The LOWER function converts a string to lower case and it returns a string.ThisLowerExpressionFactory
creates a newLowerExpression
when the portion of the query to parse starts with LOWER.One of the aggregate functions.ThisMaxFunctionFactory
creates a newMaxFunction
when the portion of the query to parse starts with MAX.One of the aggregate functions.ThisMinFunctionFactory
creates a newMinFunction
when the portion of the query to parse starts with MIN.The modulo operation finds the remainder of division of one number by another.ThisModExpressionFactory
creates a newModExpression
when the portion of the query to parse starts with MOD.One of the four binary operators.The query BNF for a new value expression.BNF:expression ::= NOT conditional_primary
ThisNotExpressionFactory
creates a newNotExpression
when the portion of the query to parse starts with NOT.A null comparison tests whether or not the single-valued path expression or input parameter is a NULL value.The query BNF for a null comparison expression.Anull
Expression
is used instead of a truenull
, which allows operations to be performed without doing anull
check first.NULLIF returns the first expression if the two expressions are not equal.The query BNF for a nullif expression.ThisNullIfExpressionFactory
creates a newNullIfExpression
when the portion of the query to parse starts with NULLIF.Exact numeric literals support the use of Java integer literal syntax as well as SQL exact numeric literal syntax.The query BNF for a numeric literal.Stand-alone identification variables in the SELECT clause may optionally be qualified by the OBJECT operator.The query BNF for an object expression.ThisObjectExpressionFactory
creates a newObjectExpression
when the portion of the query to parse starts with OBJECT.Returns an expression that allows a join ON clause to be defined.The query BNF for the on clause.ThisOnClauseFactory
creates a newOnClause
when the portion of the query to parse starts with ON.The ORDER BY clause allows the objects or values that are returned by the query to be ordered.The query BNF for the order by clause.ThisOrderByClauseFactory
creates a newOrderByClause
when the portion of the query to parse starts with ORDER BY.An orderby_item must be one of the following: Astate_field_path_expression
that evaluates to an orderable state field of an entity or embeddable class abstract schema type designated in the SELECT clause by one of the following: A general_identification_variable A single_valued_object_path_expression Astate_field_path_expression
that evaluates to the same state field of the same entity or embeddable abstract schema type as astate_field_path_expression
in the SELECT clause Aresult_variable
that refers to an orderable item in the SELECT clause for which the sameresult_variable
has been specified.This enumeration lists all the possible choices for ordering nulls in an item.This enumeration lists all the possible choices for ordering an item.The query BNF for the order by item expression.ThisOrderByItemFactory
creates a newOrderByItem
.In a hierarchical query, if the rows of siblings of the same parent need to be ordered, then theORDER SIBLINGS BY
clause should be used.The query BNF for the order siblings by clause.ThisOrderSiblingsByClauseFactory
creates a newOrderSiblingsByClause
when the portion of the query to parse starts with ORDER SIBLINGS BY.The OR logical operator chains multiple criteria together.ThisOrExpressionFactory
creates a newOrExpression
when the portion of the query to parse starts with OR.The query BNF for a pattern value.The query BNF for a qualified identification variable expression.This object contains the cursor position within the parsed tree and within each of theExpression
from the root to the deepest leaf.Range variable declarations allow the developer to designate a "root" for objects which may not be reachable by navigation.The query BNF for a range variable declaration expression.ThisRangeVariableDeclaration
creates a newRangeVariableDeclaration
.The REGEXP condition is used to specify a search for a pattern.The query BNF for a REGEXP expression.ThisRegexpExpressionFactory
creates a newRegexpExpression
when the portion of the query to parse starts with REGEXP.A result variable may be used to name a select item in the query result.The query BNF for a result variable expression.ThisResultVariableFactory
creates a newResultVariable
when the portion of the query to parse starts with or without AS.The query BNF for a scalar expression.The SELECT clause queries data from entities.The query BNF for the select clause.ThisSelectClauseFactory
creates a newSelectClause
when the portion of the query to parse starts with SELECT.The query BNF for a select expression.ASELECT
query is an operation that retrieves data from one or more tables or views.The query BNF for the select statement.ThisSelectStatementFactory
creates a newSelectStatement
when the portion of the query to parse starts with SELECT.The query BNF for a simple arithmetic expression.The query BNF for a simple case expression.The query BNF for a simple conditional expression.The query BNF for a simple entity expression.The query BNF for a simple entity or value expression.The FROM clause of a query defines the domain of the query by declaring identification variables.The query BNF for a result variable expression.The SELECT statement queries data from entities.The query BNF for the simple select clause.The query BNF for a simple select expression.BNFLsubquery ::= simple_select_clause subquery_from_clause [where_clause] [groupby_clause] [having_clause]
ThisSimpleSelectStatementFactory
creates a newSimpleSelectStatement
when the portion of the query to parse starts with SELECT.The query BNF for a simple valued object path expression.The query BNF for a single valued path expression.The SIZE function returns an integer value, the number of elements of the collection.ThisSizeExpressionFactory
creates a newSizeExpression
when the portion of the query to parse starts with SIZE.The SQRT function takes a numeric argument and returns a double.ThisSqrtExpressionFactory
creates a newSqrtExpression
when the portion of the query to parse starts with SQRT.ASTART WITH
clause is optional and specifies the root row(s) of the hierarchy.The query BNF for theSTART WITH
clause.ThisStartWithClauseFactory
creates a newStartWithClause
when the portion of the query to parse starts with START WITH.Asingle_valued_association_field
is designated by the name of an association-field in a one-to-one or many-to-one relationship.The query BNF for a state field path expression.ThisStateFieldPathExpressionFactory
is meant to handle the parsing of a portion of the query when it's expected to be a state field path.The query BNF for a string expression.A string literal is enclosed in single quotes.The query BNF for a string literal.ThisStringLiteralFactory
is responsible to parse a sub-query starting with a single quote.The query BNF for a string primary expression.This expression wraps a sub-expression within parenthesis.The query BNF for a subquery expression.The query BNF for the from clause defined in a subquery.The query BNF for an identification variable declaration expression defined in a sub-select expression.The second and third arguments of the SUBSTRING function denote the starting position and length of the substring to be returned.ThisSubstringExpressionFactory
creates a newSubstringExpression
when the portion of the query to parse starts with SUBSTRING.One of the four binary operators.One of the aggregate functions.ThisSumFunctionFactory
creates a newSumFunction
when the portion of the query to parse starts with SUM.Defines a table expression.The query BNF for a table expression.ThisTableExpressionFactory
creates a newTableExpression
.Defines a table expression.The query BNF for a table declaration.ThisTableVariableDeclarationFactory
creates a newTableVariableDeclaration
.Returns an expression that allows to treat its base as if it were a subclass of the class returned by the base.The query BNF for aTREAT
expression.ThisTreatExpressionFactory
creates a newTreatExpression
when the portion of the query to parse starts with TREAT.The TRIM function trims the specified character from a string.The possible ways to trim the string.ThisTrimExpressionFactory
creates a newTrimExpression
when the portion of the query to parse starts with TRIM.An entity type expression can be used to restrict query polymorphism.The query BNF for a type expression.ThisTypeExpressionFactory
creates a newTypeExpression
when the portion of the query to parse starts with TYPE.The UNION clause allows the results of two queries to be combined.The query BNF for the order by clause.ThisUnionClauseFactory
creates a newUnionClause
when the portion of the query to parse starts with UNION,INTERSECT
orEXCEPT
.This expression contains a portion of the query that is unknown to the parser.ThisUnknownExpressionFactory
creates a newUnknownExpression
when the portion of the query to parse is unknown.This is the update clause of the update statement.The query BNF for the update clause.ThisUpdateClauseFactory
creates a newUpdateClause
when the portion of the query to parse starts with UPDATE.Thenew_value
specified for an update operation must be compatible in type with the field to which it is assigned.The query BNF for the update item expression.ThisUpdateItemFactory
creates a newUpdateItem
.The query BNF for a state field path expression used in an update item.ThisUpdateItemStateFieldPathExpressionFactory
is meant to handle the parsing of a portion of the query when it's expected to be a state field path.The UPDATE clause of a query consists of a conditional expression used to select objects or values that satisfy the expression.The query BNF for the update statement.ThisUpdateStatementFactory
creates a newUpdateStatement
when the portion of the query to parse starts with UPDATE.The UPPER function converts a string to upper case and it returns a string.ThisUpperExpressionFactory
creates a newUpperExpression
when the portion of the query to parse starts with UPPER.An identification variable qualified by theVALUE
operator is a path expression.ThisValueExpressionFactory
creates a newValueExpression
when the portion of the query to parse starts with VALUE.ThisJPQLQueryBNF
can be used as a virtual BNF, which can wrap another BNF or BNFs and modify the default behavior.A WHEN predicate is used to calculate a condition and when it's true, its THEN will be executed.The query BNF for the when clause of the case expression.ThisWhenClauseFactory
creates a newWhenClause
when the portion of the query to parse starts with WHEN.The WHERE clause of a query consists of a conditional expression used to select objects or values that satisfy the expression.The query BNF for the where clause.ThisWhereClauseFactory
creates a newWhereClause
when the portion of the query to parse starts with WHERE.