public class EclipseLinkSemanticValidator extends AbstractSemanticValidator implements EclipseLinkExpressionVisitor
For instance, the function AVG accepts a state field path. The property it represents has
to be of numeric type. AVG(e.name) is parsable but is not semantically valid because the
type of name is a string (the property signature is: "private String name
").
Note: EclipseLink does not validate types, but leaves it to the database. This is because
some databases such as Oracle allow different types to different functions and perform implicit
type conversion. i.e. CONCAT('test', 2)
returns 'test2'
. Also the
FUNC function has an unknown type, so should be allowed with any function.
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.
EclipseLinkGrammarValidator
AbstractValidator.JPQLQueryBNFValidator, AbstractValidator.OwningClauseVisitor
Constructor and Description |
---|
EclipseLinkSemanticValidator(JPQLQueryContext queryContext)
Creates a new
EclipseLinkSemanticValidator . |
EclipseLinkSemanticValidator(SemanticValidatorHelper helper)
Creates a new
EclipseLinkSemanticValidator . |
Modifier and Type | Method and Description |
---|---|
void |
visit(CastExpression expression)
Visits the
CastExpression expression. |
void |
visit(DatabaseType expression)
Visits the
DatabaseType expression. |
void |
visit(ExtractExpression expression)
Visits the
ExtractExpression expression. |
void |
visit(RegexpExpression expression) |
void |
visit(TableExpression expression)
Visits the
TableExpression expression. |
void |
visit(TableVariableDeclaration expression)
Visits the
TableVariableDeclaration expression. |
void |
visit(UnionClause expression)
Visits the
UnionClause expression. |
dispose, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
problemsSize, setProblems
visit
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
public EclipseLinkSemanticValidator(JPQLQueryContext queryContext)
EclipseLinkSemanticValidator
.queryContext
- The context used to query information about the JPQL queryjava.lang.NullPointerException
- The given JPQLQueryContext
cannot be null
public EclipseLinkSemanticValidator(SemanticValidatorHelper helper)
EclipseLinkSemanticValidator
.helper
- The given helper allows this validator to access the JPA artifacts without using
Hermes SPIjava.lang.NullPointerException
- The given SemanticValidatorHelper
cannot be null
public void visit(CastExpression expression)
CastExpression
expression.visit
in interface EclipseLinkExpressionVisitor
expression
- The Expression
to visitpublic void visit(DatabaseType expression)
DatabaseType
expression.visit
in interface EclipseLinkExpressionVisitor
expression
- The DatabaseType
to visitpublic void visit(ExtractExpression expression)
ExtractExpression
expression.visit
in interface EclipseLinkExpressionVisitor
expression
- The Expression
to visitpublic void visit(RegexpExpression expression)
visit
in interface EclipseLinkExpressionVisitor
public void visit(TableExpression expression)
TableExpression
expression.visit
in interface EclipseLinkExpressionVisitor
expression
- The Expression
to visitpublic void visit(TableVariableDeclaration expression)
TableVariableDeclaration
expression.visit
in interface EclipseLinkExpressionVisitor
expression
- The Expression
to visitpublic void visit(UnionClause expression)
UnionClause
expression.visit
in interface EclipseLinkExpressionVisitor
expression
- The Expression
to visitEclipseLink 2.4.2, "build v20130514-5956486" API Reference