Top Description Inners Fields Constructors Methods
org.eclipse.persistence.jpa.jpql

public abstract Class AbstractSemanticValidator

extends AbstractValidator
Class Inheritance
Known Direct Subclasses
org.eclipse.persistence.jpa.jpql.tools.DefaultSemanticValidator, org.eclipse.persistence.jpa.jpql.AbstractEclipseLinkSemanticValidator
Annotations
@SuppressWarnings:nls
Imports
java.util.ArrayList, .HashMap, .List, .Locale, .Map, org.eclipse.persistence.jpa.jpql.JPQLQueryDeclaration.Type, org.eclipse.persistence.jpa.jpql.parser.AbsExpression, .AbstractExpressionVisitor, .AbstractFromClause, .AbstractSchemaName, .AbstractSingleEncapsulatedExpression, .AdditionExpression, .AllOrAnyExpression, .AndExpression, .AnonymousExpressionVisitor, .ArithmeticExpression, .ArithmeticFactor, .AvgFunction, .BadExpression, .BetweenExpression, .CaseExpression, .CoalesceExpression, .CollectionExpression, .CollectionMemberDeclaration, .CollectionMemberExpression, .CollectionValuedPathExpression, .ComparisonExpression, .CompoundExpression, .ConcatExpression, .ConstructorExpression, .CountFunction, .DateTime, .DeleteClause, .DeleteStatement, .DivisionExpression, .EmptyCollectionComparisonExpression, .EntityTypeLiteral, .EntryExpression, .ExistsExpression, .Expression, .FromClause, .FunctionExpression, .GroupByClause, .HavingClause, .IdentificationVariable, .IdentificationVariableDeclaration, .InExpression, .IndexExpression, .InputParameter, .JPQLExpression, .JPQLGrammar, .Join, .KeyExpression, .KeywordExpression, .LengthExpression, .LikeExpression, .LocateExpression, .LowerExpression, .MaxFunction, .MinFunction, .ModExpression, .MultiplicationExpression, .NotExpression, .NullComparisonExpression, .NullExpression, .NullIfExpression, .NumericLiteral, .ObjectExpression, .OnClause, .OrExpression, .OrderByClause, .OrderByItem, .RangeVariableDeclaration, .ResultVariable, .SelectClause, .SelectStatement, .SimpleFromClause, .SimpleSelectClause, .SimpleSelectStatement, .SizeExpression, .SqrtExpression, .StateFieldPathExpression, .StringLiteral, .SubExpression, .SubstringExpression, .SubtractionExpression, .SumFunction, .TreatExpression, .TrimExpression, .TypeExpression, .UnknownExpression, .UpdateClause, .UpdateItem, .UpdateStatement, .UpperExpression, .ValueExpression, .WhenClause, .WhereClause

The base validator responsible to gather the problems found in a JPQL query by validating the content to make sure it is semantically valid, i.e. based on the information contained in the JPA application. The grammar is not validated by this visitor.

Provisional API: This interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

Author
Pascal Filion
Since
2.4
Version
2.5.1
See Also
AbstractGrammarValidator

Nested and Inner Type Summary

Modifier and TypeClass and Description
protected static class
AbstractSemanticValidator.CollectionValuedPathExpressionVisitor

This visitor is meant to retrieve an CollectionValuedPathExpression if the visited Expression is that object.

protected static class
protected static class
AbstractSemanticValidator.ComparisonExpressionVisitor

This visitor compares the left and right expressions of a comparison expression and gathers information about those expressions if they are an identification variable or a path expression.

protected static class
protected static class
protected static enum
AbstractSemanticValidator.PathType

This enumeration allows AbstractSemanticValidator#validateStateFieldPathExpression( StateFieldPathExpression, PathType) to validate the type of the mapping and to make sure it is allowed based on its location.

protected static class
AbstractSemanticValidator.StateFieldPathExpressionVisitor

This visitor is meant to retrieve an StateFieldPathExpressionVisitor if the visited Expression is that object.

protected static class
protected static class

Field Summary

Modifier and TypeField and Description
protected AbstractSemanticValidator.CollectionValuedPathExpressionVisitor
collectionValuedPathExpressionVisitor

This visitor is responsible to retrieve the visited Expression if it is a CollectionValuedPathExpression.

private AbstractSemanticValidator.ComparingEntityTypeLiteralVisitor
comparingEntityTypeLiteralVisitor

This visitor is responsible to check if the entity type literal (parsed as an identification variable) is part of a comparison expression.

private AbstractSemanticValidator.ComparisonExpressionVisitor
comparisonExpressionVisitor

This visitor visits the left and right expressions of a ComparisonExpressionVisitor and gather information that is used by validateComparisonExpression(ComparisonExpression).

protected final SemanticValidatorHelper
helper

The given helper allows this validator to access the JPA artifacts without using Hermes SPI.

private AbstractSemanticValidator.InItemsVisitor
inItemsVisitor

This visitor makes sure the path expressions are properly validated.

protected boolean
registerIdentificationVariable

This flag is used to register the IdentificationVariables that are used throughout the query (top-level query and subqueries), except the identification variables defining an abstract schema name or a collection-valued path expression.

protected AbstractSemanticValidator.StateFieldPathExpressionVisitor
stateFieldPathExpressionVisitor

This visitor is responsible to retrieve the visited Expression if it is a StateFieldPathExpression.

private AbstractSemanticValidator.SubqueryFirstDeclarationVisitor
private AbstractSemanticValidator.TopLevelFirstDeclarationVisitor
protected List<IdentificationVariable>
usedIdentificationVariables

The IdentificationVariables that are used throughout the query (top-level query and subqueries), except the identification variables defining an abstract schema name or a collection-valued path expression.

protected BaseDeclarationIdentificationVariableFinder
virtualIdentificationVariableFinder

This finder is responsible to retrieve the virtual identification variable from the UPDATE range declaration since it is optional.

Constructor Summary

AccessConstructor and Description
protected
AbstractSemanticValidator(SemanticValidatorHelper
The given helper allows this validator to access the JPA artifacts without using Hermes SPI
helper
)

Creates a new AbstractSemanticValidator.

Method Summary

Modifier and TypeMethod and Description
protected AbstractSemanticValidator.ComparingEntityTypeLiteralVisitor
protected AbstractSemanticValidator.InItemsVisitor
protected AbstractSemanticValidator.SubqueryFirstDeclarationVisitor
protected AbstractSemanticValidator.TopLevelFirstDeclarationVisitor
public void
protected IdentificationVariable

Returns:

The IdentificationVariable defining either the identification variable or the virtual identification variable for the DELETE or for the UPDATE query
findVirtualIdentificationVariable
(AbstractSchemaName
The AbstractSchemaName that is being validated and that most likely representing an associated path expression and not an entity name
expression
)

Returns the IdentificationVariable that defines the identification variable for either a DELETE or an UPDATE query.

protected CollectionValuedPathExpression
protected AbstractSemanticValidator.CollectionValuedPathExpressionVisitor
protected AbstractSemanticValidator.ComparingEntityTypeLiteralVisitor
protected AbstractSemanticValidator.ComparisonExpressionVisitor
protected JPQLGrammar
getGrammar()

Implements abstract org.eclipse.persistence.jpa.jpql.AbstractValidator.getGrammar.

Returns the JPQLGrammar that defines how the JPQL query was parsed.
protected AbstractSemanticValidator.InItemsVisitor
protected StateFieldPathExpression
protected AbstractSemanticValidator.StateFieldPathExpressionVisitor
protected BaseDeclarationIdentificationVariableFinder

Returns:

The visitor that can traverse the query and returns the IdentificationVariable
getVirtualIdentificationVariableFinder
()

Returns the visitor that can find the IdentificationVariable of the RangeVariableDeclaration.

protected void
protected boolean

Returns:

true if the identification variable is used in a comparison expression; false otherwise
isComparingEntityTypeLiteral
(IdentificationVariable
The IdentificationVariable used to determine its purpose
expression
)

Determines whether the given identification variable is used in a comparison expression: "expression = LargeProject".

protected boolean
isIdentificationVariableDeclaredAfter(String variableName, int variableNameIndex, int joinIndex, List<? extends JPQLQueryDeclaration> declarations)

protected boolean

Returns:

true if it can be used in a ordering comparison expression; false if it can't
isIdentificationVariableValidInComparison
(IdentificationVariable
The IdentificationVariable that is mapped to either an entity, a singled-object value field, a collection-valued object field
expression
)

Determines whether an identification variable can be used in a comparison expression when the operator is either '<', '<=', '>', '>='.

protected boolean

Returns:

true if the operator is used to check for order; false if it is not
isOrderComparison
(ComparisonExpression
The ComparisonExpression to check what type of operator that is used
expression
)

Determines whether the given ComparisonExpression compares two expression using one of the following operators: '<', '<=', '>', '>='.

protected final boolean

Returns:

true if the expression is valid at the given index
isValid
(int
The integer value containing the bit used to determine the state of an expression at a given position
result
,
int
The index that is used to determine the state of the expression
index
)

Determines whether the expression at the given index is valid or not.

protected abstract AbstractSemanticValidator.PathType

Returns:

The type of path expressions allowed. The spec defines it as basic or object mapping only, i.e. collection-valued path expression is not allowed
selectClausePathExpressionPathType
()

Returns the type of path expression that is allowed in the SELECT clause.

protected AbstractSemanticValidator.FirstDeclarationVisitor
protected AbstractSemanticValidator.FirstDeclarationVisitor
protected final int

Returns:

The updated integer value
updateStatus
(int
The integer value that is used to store the validation status of an expression at the given position
result
,
int
The position to store the validation status
index
,
boolean
The new validation status to store
valid
)

Updates the validation status of an expression at a specified position.

protected boolean

Returns:

false if the encapsulated expression was validated and is invalid; true otherwise
validateAbsExpression
(AbsExpression
The AbsExpression to validate by validating its encapsulated expression
expression
)

Validates the encapsulated expression of the given ABS expression.

protected void
validateAbstractFromClause(AbstractFromClause
The AbstractFromClause to validate
expression
,
AbstractSemanticValidator.FirstDeclarationVisitor
The FirstDeclarationVisitor to validate
visitor
)

Validates the given FROM clause.

protected boolean

Returns:

true if the entity name was resolved; false otherwise
validateAbstractSchemaName
(AbstractSchemaName
The AbstractSchemaName to validate
expression
)

Validates the given AbstractSchemaName.

protected int

Returns:

A number indicating the validation result. isValid(int, int) can be used to determine the validation status of an expression based on its position
validateAdditionExpression
(AdditionExpression
The AdditionExpression to validate by validating its encapsulated expression
expression
)

Validates the encapsulated expression of the given addition expression.

protected void
protected void
validateAndExpression(AndExpression
The AndExpression to validate
expression
)

Validates the given AndExpression.

protected int

Returns:

A number indicating the validation result. isValid(int, int) can be used to determine the validation status of an expression based on its position
validateArithmeticExpression
(ArithmeticExpression
The ArithmeticExpression to validate
expression
,
String
The key used to describe the left expression does not have a valid type
leftExpressionWrongTypeMessageKey
,
String
The key used to describe the right expression does not have a valid type
rightExpressionWrongTypeMessageKey
)

Validates the type of the left and right expressions defined by the given ArithmeticExpression.

protected boolean

Returns:

false if the arithmetic factor expression was validated and is invalid; true otherwise
validateArithmeticExpression
(ArithmeticFactor
The ArithmeticFactor to validate
expression
)

Validates the arithmetic factor expression.

protected boolean

Returns:

false if the encapsulated expression was validated and is invalid; true otherwise
validateAvgFunction
(AvgFunction
The AvgFunction to validate by validating its encapsulated expression
expression
)

Validates the encapsulated expression of the given AVG expression.

protected int

Returns:

A number indicating the validation result. isValid(int, int) can be used to determine the validation status of an expression based on its position
validateBetweenExpression
(BetweenExpression
The BetweenExpression to validate
expression
)

Validates the given BetweenExpression.

protected void
validateCaseExpression(CaseExpression
The CaseExpression to validate
expression
)

Validates the given CaseExpression.

protected void
protected void
protected int

Returns:

A number indicating the validation result. isValid(int, int) can be used to determine the validation status of an expression based on its position
validateCollectionMemberExpression
(CollectionMemberExpression expression)

Validates the given CollectionMemberExpression.

protected boolean

Returns:

false if the encapsulated expression was validated and is invalid; true otherwise
validateCollectionValuedPathExpression
(Expression
The Expression to validate
expression
,
boolean
true to make sure the path expression resolves to a collection mapping only; false if it can simply resolves to a relationship mapping
collectionTypeOnly
)

Validates the given Expression and makes sure it's a valid collection value path expression.

protected boolean

Returns:

The status of the comparison between the left and right expression: true if the two expressions pass the rules defined by this method; false otherwise
validateComparisonExpression
(ComparisonExpression
The ConcatExpression to validate by validating its left and right expressions
expression
)

Validates the left and right expressions of the given ComparisonExpression.

protected boolean

Returns:

false if the first encapsulated expression was validated and is invalid; true otherwise
validateConcatExpression
(ConcatExpression
The ConcatExpression to validate by validating its encapsulated expression
expression
)

Validates the encapsulated expression of the given CONCAT expression.

protected void
protected void
validateCountFunction(CountFunction
The CountFunction to validate
expression
)

Validates the given CountFunction.

protected void
validateDateTime(DateTime
The DateTime to validate
expression
)

Validates the given DateTime.

protected void
validateDeleteClause(DeleteClause
The DeleteClause to validate
expression
)

Validates the given DeleteClause.

protected void
validateDeleteStatement(DeleteStatement
The DeleteStatement to validate
expression
)

Validates the given DeleteStatement.

protected int

Returns:

A number indicating the validation result. isValid(int, int) can be used to determine the validation status of an expression based on its position
validateDivisionExpression
(DivisionExpression
The DivisionExpression to validate by validating its encapsulated expression
expression
)

Validates the encapsulated expression of the given division expression.

protected boolean
protected void
validateEntryExpression(EntryExpression
The EntryExpression to validate
expression
)

Validates the given EntryExpression.

protected void
validateExistsExpression(ExistsExpression
The ExistsExpression to validate
expression
)

Validates the given ExistsExpression.

protected void
protected void
validateFromClause(FromClause
The FromClause to validate
expression
)

Validates the given FromClause.

protected void
protected boolean

Returns:

false if the encapsulated expression was validated and is invalid; true otherwise
validateFunctionPathExpression
(AbstractSingleEncapsulatedExpression
The AbstractSingleEncapsulatedExpression to validate its encapsulated expression if it's a state field path expression, otherwise does nothing
expression
)

Validates the given AbstractSingleEncapsulatedExpression's encapsulated expression if it is a state field path expression and makes sure it is mapping to a basic mapping.

protected int

Returns:

A number indicating the validation result. isValid(int, int) can be used to determine the validation status of an expression based on its position
validateFunctionPathExpression
(CompoundExpression
The CompoundExpression to validate by validating its left and right expressions
expression
,
AbstractSemanticValidator.PathType
The type of field that is allowed
pathType
)

Validates the left and right expressions of the given compound expression.

protected void
validateGroupByClause(GroupByClause
The GroupByClause to validate
expression
)

Validates the given GroupByClause.

protected void
validateHavingClause(HavingClause
The HavingClause to validate
expression
)

Validates the given HavingClause.

protected boolean

Returns:

true if the given identification variable is valid; false otherwise
validateIdentificationVariable
(IdentificationVariable
The identification variable to be validated
expression
)

Validates the given IdentificationVariable.

protected boolean

Returns:

true if the given identification variable is valid; false otherwise
validateIdentificationVariable
(IdentificationVariable
The IdentificationVariable that is being visited
expression
,
String
The actual identification variable, which is never an empty string
variable
)

Validates the given identification variable.

protected void
protected void
validateIdentificationVariables()

Validates the identification variables:

  • Assures those used throughout the query have been defined in the FROM clause in the current subquery or in a superquery.
  • They have been defined only once.
protected boolean

Returns:

false if the encapsulated expression was validated and is invalid; true otherwise
validateIndexExpression
(IndexExpression
The IndexExpression to validate
expression
)

Validates the given IndexExpression.

protected void
validateInExpression(InExpression
The InExpression to validate
expression
)

Validates the given InExpression.

protected void
validateJoin(Join
The ValueExpression to validate
expression
)

Validates the given Join.

protected boolean

Returns:

false if the encapsulated expression was validated and is invalid; true otherwise
validateJoinCollectionValuedPathExpression
(Expression
The Expression to validate
expression
,
boolean
true to make sure the path expression resolves to a collection mapping only; false if it can simply resolves to a relationship mapping
collectionTypeOnly
)

Validates the given Expression and makes sure it's a valid collection value path expression.

protected void
validateJoinsIdentificationVariable(AbstractFromClause expression, List<? extends JPQLQueryDeclaration> declarations, JPQLQueryDeclaration declaration, int index)

protected void
validateKeyExpression(KeyExpression
The KeyExpression to validate
expression
)

Validates the given KeyExpression.

protected boolean

Returns:

false if the encapsulated expression was validated and is invalid; true otherwise
validateLengthExpression
(LengthExpression
The LengthExpression to validate by validating its encapsulated expression
expression
)

Validates the encapsulated expression of the given LENGTH expression.

protected int

Returns:

A number indicating the validation result. isValid(int, int) can be used to determine the validation status of an expression based on its position
validateLikeExpression
(LikeExpression
The LengthExpression to validate by validating its string expression
expression
)

Validates the string expression of the given LIKE expression.

protected int

Returns:

A number indicating the validation result. isValid(int, int) can be used to determine the validation status of an expression based on its position
validateLocateExpression
(LocateExpression
The LocateExpression to validate by validating its encapsulated expression
expression
)

Validates the encapsulated expression of the given LOCATE expression.

protected boolean

Returns:

false if the encapsulated expression was validated and is invalid; true otherwise
validateLowerExpression
(LowerExpression
The LowerExpression to validate by validating its encapsulated expression
expression
)

Validates the encapsulated expression of the given LOWER expression.

protected boolean

Returns:

false if the encapsulated expression was validated and is not valid; true otherwise
validateMaxFunction
(MaxFunction
The MaxFunction to validate by validating its encapsulated expression
expression
)

Validates the encapsulated expression of the given MAX expression.

protected boolean

Returns:

false if the encapsulated expression was validated and is not valid; true otherwise
validateMinFunction
(MinFunction
The MinFunction to validate by validating its encapsulated expression
expression
)

Validates the encapsulated expression of the given MIN expression.

protected int

Returns:

A number indicating the validation result. isValid(int, int) can be used to determine the validation status of an expression based on its position
validateModExpression
(ModExpression
The ModExpression to validate by validating its encapsulated expression
expression
)

Validates the encapsulated expression of the given MOD expression.

protected int

Returns:

A number indicating the validation result. isValid(int, int) can be used to determine the validation status of an expression based on its position
validateMultiplicationExpression
(MultiplicationExpression
The MultiplicationExpression to validate by validating its encapsulated expression
expression
)

Validates the encapsulated expression of the given multiplication expression.

protected void
validateNotExpression(NotExpression
The NotExpression to validate
expression
)

Validates the given NotExpression.

protected void
protected void
validateNullIfExpression(NullIfExpression
The NullIfExpression to validate
expression
)

Validates the given NullIfExpression.

protected void
validateObjectExpression(ObjectExpression
The ObjectExpression to validate
expression
)

Validates the given ObjectExpression.

protected void
validateOnClause(OnClause
The OnClause to validate
expression
)

Validates the given OnClause.

protected void
validateOrderByClause(OrderByClause
The OrderByItem to validate
expression
)

Validates the given OrderByItem.

protected void
validateOrderByItem(OrderByItem
The OrderByItem to validate
expression
)

Validates the given OrderByItem.

protected void
validateOrExpression(OrExpression
The OrExpression to validate
expression
)

Validates the given OrExpression.

protected void
protected void
validateRangeVariableDeclarationRootObject(RangeVariableDeclaration
The RangeVariableDeclaration that needs its "root" object to be validated
expression
)

Validates the "root" object of the given RangeVariableDeclaration.

protected void
validateResultVariable(ResultVariable
The ResultVariable to validate
expression
)

Validates the given ResultVariable.

protected void
validateSelectClause(SelectClause
The SelectClause to validate
expression
)

Validates the given SelectClause.

protected void
validateSelectStatement(SelectStatement
The SelectStatement to validate
expression
)

Validates the given SelectStatement.

protected void
validateSimpleFromClause(SimpleFromClause
The SimpleFromClause to validate
expression
)

Validates the given SimpleFromClause.

protected void
protected void
protected boolean

Returns:

false if the encapsulated expression is a collection-valued path expression and it was found to be invalid; true otherwise
validateSizeExpression
(SizeExpression
The SizeExpression to validate
expression
)

Validates the given SizeExpression.

protected boolean

Returns:

false if the encapsulated expression was validated and is invalid; true otherwise
validateSqrtExpression
(SqrtExpression
The SqrtExpression to validate by validating its encapsulated expression
expression
)

Validates the encapsulated expression of the given SQRT expression.

protected boolean

Returns:

true if the given StateFieldPathExpression resolves to a valid path; false otherwise
validateStateFieldPathExpression
(StateFieldPathExpression
The StateFieldPathExpression the validate
expression
,
AbstractSemanticValidator.PathType
The type of field that is allowed
pathType
)

Validates the given StateFieldPathExpression.

protected int

Returns:

A number indicating the validation result. isValid(int, int) can be used to determine the validation status of an expression based on its position
validateSubstringExpression
(SubstringExpression
The SubstringExpression to validate by validating its encapsulated expression
expression
)

Validates the encapsulated expression of the given SUBSTRING expression.

protected int

Returns:

A number indicating the validation result. isValid(int, int) can be used to determine the validation status of an expression based on its position
validateSubtractionExpression
(SubtractionExpression
The SubtractionExpression to validate by validating its encapsulated expression
expression
)

Validates the encapsulated expression of the given subtraction expression.

protected boolean

Returns:

false if the encapsulated expression was validated and is invalid; true otherwise
validateSumFunction
(SumFunction
The ModExpression to validate by validating its encapsulated expression
expression
)

Validates the encapsulated expression of the given MOD expression.

protected Boolean

Returns:

Boolean.TRUE or Boolean.FALSE if the given StateFieldPathExpression was validated by this method; null if it could not be validated (as being valid or invalid)
validateThirdPartyStateFieldPathExpression
(StateFieldPathExpression
The StateFieldPathExpression the validate
expression
)

Validates the given StateFieldPathExpression, which means the path does not represent a mapping, or an enum constant.

protected void
validateTreatExpression(TreatExpression
The TreatExpression to validate
expression
)

Validates the given TreatExpression.

protected boolean

Returns:

false if the encapsulated expression was validated and is invalid; true otherwise
validateTrimExpression
(TrimExpression
The TrimExpression to validate by validating its encapsulated expression
expression
)

Validates the encapsulated expression of the given TRIM expression.

protected boolean

Returns:

false if the encapsulated expression was validated and is invalid; true otherwise
validateTypeExpression
(TypeExpression
The TypeExpression to validate
expression
)

Validates the given TypeExpression.

protected void
validateUpdateClause(UpdateClause
The UpdateClause to validate
expression
)

Validates the given UpdateClause.

protected boolean

Returns:

true if the path expression is valid; false otherwise
validateUpdateItem
(UpdateItem
UpdateItem to validate its path expression
expression
)

Validates the given UpdateItem by validating the traversability of the path expression.

protected void
validateUpdateStatement(UpdateStatement
The UpdateStatement to validate
expression
)

Validates the given UpdateStatement.

protected boolean

Returns:

false if the encapsulated expression was validated and is invalid; true otherwise
validateUpperExpression
(UpperExpression
The UpperExpression to validate by validating its encapsulated expression
expression
)

Validates the encapsulated expression of the given UPPER expression.

protected void
validateValueExpression(ValueExpression
The ValueExpression to validate
expression
)

Validates the given ValueExpression.

protected void
validateWhenClause(WhenClause
The WhenClause to validate
expression
)

Validates the given WhenClause.

protected void
validateWhereClause(WhereClause
The WhereClause to validate
expression
)

Validates the given WhereClause.

protected AbstractSemanticValidator.PathType

Returns:

By default, any field are allowed except collection
validPathExpressionTypeForCountFunction
()

Returns the type of path expression that is valid for a count function; which is the left expression in a COUNT expression.

protected AbstractSemanticValidator.PathType

Returns:

By default, any field (without collection) is allowed
validPathExpressionTypeForInExpression
()

Returns the type of path expression that is valid for the expression being tested by an IN expression; which is the left expression.

protected AbstractSemanticValidator.PathType

Returns:

By default, any field are allowed except collection
validPathExpressionTypeForInItem
()

Returns the type of path expression that is valid for an IN items; which is the left expression in a IN expression.

protected AbstractSemanticValidator.PathType

Returns:

By default, only basic field are allowed
validPathExpressionTypeForStringExpression
()

Returns the type of path expression that is valid for a string expression; which is the left expression in a LIKE expression.

public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
public final void
Inherited from org.eclipse.persistence.jpa.jpql.AbstractValidator:
addProblemaddProblemaddProblemaddProblembuildChildrenCollectorbuildLiteralVisitorbuildNestedArrayVisitorbuildOwningClauseVisitorbuildOwningStatementVisitorbuildProblembuildSubqueryVisitorgetBypassChildCollectionExpressionVisitorgetBypassParentSubExpressionVisitorgetChildrengetChildrenCollectorVisitorgetExpressionRegistrygetExpressionValidatorgetJPAVersiongetJPQLQueryBNFValidatorgetJPQLQueryBNFValidatorgetLiteralVisitorgetNestedArrayVisitorgetOwningClauseVisitorgetOwningStatementVisitorgetProvidergetProviderVersiongetQueryBNFgetSubqueryVisitorisNestedArrayisSubqueryisValidisValidisValidisValidWithChildCollectionBypassisWithinSubqueryisWithinTopLevelQuerylengthliteralnestedArraySizepositionproblemsSizesetProblemsvisit