Class DeleteClause
- java.lang.Object
-
- org.eclipse.persistence.jpa.jpql.parser.AbstractExpression
-
- org.eclipse.persistence.jpa.jpql.parser.DeleteClause
-
- All Implemented Interfaces:
Expression
public final class DeleteClause extends AbstractExpression
This is the delete clause of the delete statement.A DELETE statement provides bulk operations over sets of entities of a single entity class (together with its subclasses, if any). Only one entity abstract schema type may be specified in the UPDATE clause.
BNF:delete_clause ::= DELETE FROM abstract_schema_name [[AS] identification_variable]Example:
DELETE FROM Employee e- Since:
- 2.3
- Version:
- 2.5
- Author:
- Pascal Filion
-
-
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 DeleteClause(AbstractExpression parent)Creates a newDeleteClause.
-
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.CollectionExpressionbuildCollectionExpression()Creates a newCollectionExpressionthat will wrap the single range variable declaration.JPQLQueryBNFfindQueryBNF(Expression expression)Retrieves theJPQLQueryBNFthat represents the fragment of thisExpressionthat was used when parsing the givenExpression.java.lang.StringgetActualDeleteIdentifier()Returns the actual DELETE found in the string representation of the JPQL query, which has the actual case that was used.java.lang.StringgetActualFromIdentifier()Returns the actual FROM identifier found in the string representation of the JPQL query, which has the actual case that was used.JPQLQueryBNFgetQueryBNF()Returns the BNF of thisExpression.ExpressiongetRangeVariableDeclaration()Returns theExpressionrepresenting the range variable declaration.booleanhasFrom()Determines whether the identifier FROM was parsed.booleanhasRangeVariableDeclaration()Determines whether the range variable declaration was parsed.booleanhasSpaceAfterDelete()Determines whether a whitespace was found after the identifier DELETE.booleanhasSpaceAfterFrom()Determines whether a whitespace was found after the identifier FROM.-
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
-
DeleteClause
public DeleteClause(AbstractExpression parent)
Creates a newDeleteClause.- 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.
-
buildCollectionExpression
public CollectionExpression buildCollectionExpression()
Creates a newCollectionExpressionthat will wrap the single range variable declaration.- Returns:
- The single range variable declaration represented by a temporary collection
-
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
-
getActualDeleteIdentifier
public java.lang.String getActualDeleteIdentifier()
Returns the actual DELETE found in the string representation of the JPQL query, which has the actual case that was used.- Returns:
- The DELETE identifier that was actually parsed, or an empty string if it was not parsed
-
getActualFromIdentifier
public java.lang.String getActualFromIdentifier()
Returns the actual FROM identifier found in the string representation of the JPQL query, which has the actual case that was used.- Returns:
- The FROM identifier that was actually parsed, or an empty string if it was not parsed
-
getQueryBNF
public JPQLQueryBNF getQueryBNF()
Returns the BNF of thisExpression.- Returns:
- The
JPQLQueryBNF, which represents the grammar of thisExpression
-
getRangeVariableDeclaration
public Expression getRangeVariableDeclaration()
Returns theExpressionrepresenting the range variable declaration.- Returns:
- The expression representing the range variable declaration
-
hasFrom
public boolean hasFrom()
Determines whether the identifier FROM was parsed.- Returns:
trueif FROM was parsed;falseotherwise
-
hasRangeVariableDeclaration
public boolean hasRangeVariableDeclaration()
Determines whether the range variable declaration was parsed.- Returns:
trueif the range variable declaration was parsed;falseotherwise
-
hasSpaceAfterDelete
public boolean hasSpaceAfterDelete()
Determines whether a whitespace was found after the identifier DELETE.- Returns:
trueif there was a whitespace after the identifier DELETE;falseotherwise
-
hasSpaceAfterFrom
public boolean hasSpaceAfterFrom()
Determines whether a whitespace was found after the identifier FROM.- Returns:
trueif there was a whitespace after the identifier FROM;falseotherwise
-
-