Class UpdateItem
- java.lang.Object
-
- org.eclipse.persistence.jpa.jpql.parser.AbstractExpression
-
- org.eclipse.persistence.jpa.jpql.parser.UpdateItem
-
- All Implemented Interfaces:
Expression
public final class UpdateItem extends AbstractExpression
Thenew_valuespecified for an update operation must be compatible in type with the field to which it is assigned.BNF:update_item ::= [identification_variable.]{state_field | single_valued_association_field} = new_value- Since:
- 2.3
- Version:
- 2.5
- Author:
- Pascal Filion
- See Also:
UpdateClause
-
-
Field Summary
-
Fields inherited from class org.eclipse.persistence.jpa.jpql.parser.AbstractExpression
COMMA, DOT, DOUBLE_QUOTE, LEFT_CURLY_BRACKET, LEFT_PARENTHESIS, NOT_DEFINED, RIGHT_CURLY_BRACKET, RIGHT_PARENTHESIS, SINGLE_QUOTE, SPACE, UNDERSCORE
-
Fields inherited from interface org.eclipse.persistence.jpa.jpql.parser.Expression
ABS, ALL, AND, ANY, AS, AS_OF, ASC, AVG, BETWEEN, BIT_LENGTH, BOTH, CASE, CAST, CHAR_LENGTH, CHARACTER_LENGTH, CLASS, COALESCE, COLUMN, CONCAT, CONNECT_BY, COUNT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DELETE, DELETE_FROM, DESC, DIFFERENT, DISTINCT, DIVISION, ELSE, EMPTY, END, ENTRY, EQUAL, ESCAPE, EXCEPT, EXISTS, EXTRACT, FALSE, FETCH, FIRST, FROM, FUNC, FUNCTION, GREATER_THAN, GREATER_THAN_OR_EQUAL, GROUP_BY, HAVING, IN, INDEX, INNER, INNER_JOIN, INNER_JOIN_FETCH, INTERSECT, IS, IS_EMPTY, IS_NOT_EMPTY, IS_NOT_NULL, IS_NULL, JOIN, JOIN_FETCH, KEY, LAST, LEADING, LEFT, LEFT_JOIN, LEFT_JOIN_FETCH, LEFT_OUTER_JOIN, LEFT_OUTER_JOIN_FETCH, LENGTH, LIKE, LOCATE, LOWER, LOWER_THAN, LOWER_THAN_OR_EQUAL, MAX, MEMBER, MEMBER_OF, MIN, MINUS, MOD, MULTIPLICATION, NAMED_PARAMETER, NEW, NOT, NOT_BETWEEN, NOT_EQUAL, NOT_EXISTS, NOT_IN, NOT_LIKE, NOT_MEMBER, NOT_MEMBER_OF, NULL, NULLIF, NULLS, NULLS_FIRST, NULLS_LAST, OBJECT, OF, ON, OPERATOR, OR, ORDER_BY, ORDER_SIBLINGS_BY, OUTER, PLUS, POSITION, POSITIONAL_PARAMETER, QUOTE, REGEXP, SCN, SELECT, SET, SIZE, SOME, SQL, SQRT, START_WITH, SUBSTRING, SUM, TABLE, THEN, TIMESTAMP, TRAILING, TREAT, TRIM, TRUE, TYPE, UNION, UNKNOWN, UPDATE, UPPER, VALUE, WHEN, WHERE
-
-
Constructor Summary
Constructors Constructor Description UpdateItem(AbstractExpression parent)Creates a newUpdateItem.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(ExpressionVisitor visitor)Visits thisExpressionby the givenvisitor.voidacceptChildren(ExpressionVisitor visitor)Visits the children of thisExpression.JPQLQueryBNFfindQueryBNF(Expression expression)Retrieves theJPQLQueryBNFthat represents the fragment of thisExpressionthat was used when parsing the givenExpression.ExpressiongetNewValue()Returns theExpressionrepresenting the new value, which is the new value of the property.JPQLQueryBNFgetQueryBNF()Returns the BNF of thisExpression.ExpressiongetStateFieldPathExpression()Returns theExpressionrepresenting the state field path expression, which is the property that should get updated.booleanhasEqualSign()Determines whether the equal sign was parsed or not.booleanhasNewValue()Determines whether the new value section of the query was parsed.booleanhasSpaceAfterEqualSign()Determines whether a whitespace was parsed after the equal sign or not.booleanhasSpaceAfterStateFieldPathExpression()Determines whether a whitespace was parsed after the state field path expression not.booleanhasStateFieldPathExpression()Determines whether the state field was parsed.-
Methods inherited from class org.eclipse.persistence.jpa.jpql.parser.AbstractExpression
children, getGrammar, getIdentifierVersion, getLength, getOffset, getParent, getQueryBNF, getRoot, isAncestor, orderedChildren, populatePosition, toActualText, toParsedText, toString
-
-
-
-
Constructor Detail
-
UpdateItem
public UpdateItem(AbstractExpression parent)
Creates a newUpdateItem.- Parameters:
parent- The parent of this expression
-
-
Method Detail
-
accept
public void accept(ExpressionVisitor visitor)
Visits thisExpressionby the givenvisitor.- Parameters:
visitor- TheExpressionVisitorto visit this object
-
acceptChildren
public void acceptChildren(ExpressionVisitor visitor)
Visits the children of thisExpression. This method can be used to optimize traversing the children since a new list is not created every timeExpression.children()is called.This does not traverse the
Expressionsub-hierarchy, use a subclass ofAbstractTraverseChildrenVisitorin order to traverse the entire sub-hierarchy.- Parameters:
visitor- Thevisitorto visit the children of this object.
-
findQueryBNF
public JPQLQueryBNF findQueryBNF(Expression expression)
Retrieves theJPQLQueryBNFthat represents the fragment of thisExpressionthat was used when parsing the givenExpression.- Specified by:
findQueryBNFin interfaceExpression- Overrides:
findQueryBNFin classAbstractExpression- Parameters:
expression- TheExpressionthat is a descendant of this one- Returns:
- The
JPQLQueryBNFthat was used to parse the given expression
-
getNewValue
public Expression getNewValue()
Returns theExpressionrepresenting the new value, which is the new value of the property.- Returns:
- The expression for the new value
-
getQueryBNF
public JPQLQueryBNF getQueryBNF()
Returns the BNF of thisExpression.- Returns:
- The
JPQLQueryBNF, which represents the grammar of thisExpression
-
getStateFieldPathExpression
public Expression getStateFieldPathExpression()
Returns theExpressionrepresenting the state field path expression, which is the property that should get updated.- Returns:
- The expression for the state field path expression
-
hasEqualSign
public boolean hasEqualSign()
Determines whether the equal sign was parsed or not.- Returns:
trueif the equal sign was parsed;falseotherwise
-
hasNewValue
public boolean hasNewValue()
Determines whether the new value section of the query was parsed.- Returns:
truethe new value was parsed;falseif nothing was parsed
-
hasSpaceAfterEqualSign
public boolean hasSpaceAfterEqualSign()
Determines whether a whitespace was parsed after the equal sign or not.- Returns:
trueif there was a whitespace after the equal sign;falseotherwise
-
hasSpaceAfterStateFieldPathExpression
public boolean hasSpaceAfterStateFieldPathExpression()
Determines whether a whitespace was parsed after the state field path expression not.- Returns:
trueif there was a whitespace after the state field path expression;falseotherwise
-
hasStateFieldPathExpression
public boolean hasStateFieldPathExpression()
Determines whether the state field was parsed.- Returns:
truethe state field was parsed;falseotherwise
-
-