|
EclipseLink 2.5.0, build 'v20130507-3faac2b' API Reference | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.eclipse.persistence.jpa.jpql.parser.AnonymousExpressionVisitor
org.eclipse.persistence.jpa.jpql.AbstractValidator
org.eclipse.persistence.jpa.jpql.AbstractGrammarValidator
org.eclipse.persistence.jpa.jpql.EclipseLinkGrammarValidator
public class EclipseLinkGrammarValidator
This validator adds EclipseLink extension over what the JPA functional specification had defined.
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.
| Nested Class Summary | |
|---|---|
protected static class |
EclipseLinkGrammarValidator.InExpressionVisitor
|
protected class |
EclipseLinkGrammarValidator.InExpressionWithNestedArrayVisitor
|
| Nested classes/interfaces inherited from class org.eclipse.persistence.jpa.jpql.AbstractValidator |
|---|
AbstractValidator.BypassChildCollectionExpressionVisitor, AbstractValidator.BypassParentSubExpressionVisitor, AbstractValidator.ChildrenCollectorVisitor, AbstractValidator.JPQLQueryBNFValidator, AbstractValidator.NestedArrayVisitor, AbstractValidator.OwningClauseVisitor, AbstractValidator.OwningStatementVisitor, AbstractValidator.SubqueryVisitor |
| Constructor Summary | |
|---|---|
EclipseLinkGrammarValidator(JPQLGrammar jpqlGrammar)
Creates a new EclipseLinkGrammarValidator. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.eclipse.persistence.jpa.jpql.parser.ExpressionVisitor |
|---|
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 |
| Constructor Detail |
|---|
public EclipseLinkGrammarValidator(JPQLGrammar jpqlGrammar)
EclipseLinkGrammarValidator.
jpqlGrammar - The JPQLGrammar that defines how the JPQL query was parsed| Method Detail |
|---|
protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<CastExpression> buildCastExpressionHelper()
protected AbstractGrammarValidator.AbstractDoubleEncapsulatedExpressionHelper<DatabaseType> buildDatabaseTypeHelper()
protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<ExtractExpression> buildExtractExpressionHelper()
protected EclipseLinkGrammarValidator.InExpressionVisitor buildInExpressionVisitor()
protected EclipseLinkGrammarValidator.InExpressionWithNestedArrayVisitor buildInExpressionWithNestedArrayVisitor()
protected LiteralVisitor buildLiteralVisitor()
buildLiteralVisitor in class AbstractValidatorLiteralVisitorprotected AbstractValidator.OwningClauseVisitor buildOwningClauseVisitor()
Expression and stops at
the first Expression that is a clause.
buildOwningClauseVisitor in class AbstractValidatorAbstractValidator.OwningClauseVisitorprotected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<TableExpression> buildTableExpressionHelper()
protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<CastExpression> castExpressionHelper()
protected AbstractGrammarValidator.AbstractDoubleEncapsulatedExpressionHelper<DatabaseType> databaseTypeHelper()
protected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<ExtractExpression> extractExpressionHelper()
protected EclipseLinkGrammarValidator.InExpressionVisitor getInExpressionVisitor()
protected EclipseLinkGrammarValidator.InExpressionWithNestedArrayVisitor getInExpressionWithNestedArray()
protected AbstractEclipseLinkSemanticValidator.EclipseLinkOwningClauseVisitor getOwningClauseVisitor()
Expression and stops at
the first Expression that is a clause.
getOwningClauseVisitor in class AbstractValidatorAbstractValidator.OwningClauseVisitorprotected final boolean isEclipseLink()
true if the persistence provider is EclipseLink; false otherwiseprotected boolean isInExpressionWithNestedArray(SimpleSelectClause expression)
IN expression where the
left expression is a nested array.
expression - The SimpleSelectClause of the subquery
true if the subquery is in an IN expression and its
left expression is a nested arrayprotected boolean isInputParameterInValidLocation(InputParameter expression)
isInputParameterInValidLocation in class AbstractGrammarValidatorprotected boolean isJoinFetchIdentifiable()
JOIN FETCH expression can be identified by with an
identification variable or not.
isJoinFetchIdentifiable in class AbstractGrammarValidatortrue if the expression can have an identification variable;
false otherwiseprotected boolean isMultipleSubquerySelectItemsAllowed(SimpleSelectClause expression)
SELECT clause can return more than
one item or just a single. By default, only one item can be returned.
isMultipleSubquerySelectItemsAllowed in class AbstractGrammarValidatorexpression - The subquery SELECT clause
true if it can return more than one item; false if it needs
to return only one itemprotected boolean isOwnedByInExpression(Expression expression)
protected boolean isOwnedByUnionClause(Expression expression)
Expression is a child of the UNION clause.
expression - The Expression to visit its parent hierarchy up to the clause
true if the first parent being a clause is the UNION clause;
false otherwiseprotected boolean isSubqueryAllowedAnywhere()
isSubqueryAllowedAnywhere in class AbstractGrammarValidatortrue if a subquery can be defined in any clause; false if
it can only be used within the WHERE and HAVING defined by the JPA
1.0 and 2.0 specification documentprotected AbstractGrammarValidator.AbstractSingleEncapsulatedExpressionHelper<TableExpression> tableExpressionHelper()
protected void validateAbstractSelectClause(AbstractSelectClause expression,
boolean multipleSelectItemsAllowed)
SELECT clause. The select expression
will only be visited if its JPQL query BNF is part of the select item BNF.
validateAbstractSelectClause in class AbstractGrammarValidatorexpression - The AbstractSelectClause to validatemultipleSelectItemsAllowed - Determines whether the SELECT can have
one or more select expression or notpublic void visit(AsOfClause expression)
AsOfClause expression.
visit in interface EclipseLinkExpressionVisitorexpression - The Expression to visitpublic void visit(CastExpression expression)
CastExpression expression.
visit in interface EclipseLinkExpressionVisitorexpression - The Expression to visitpublic void visit(ConnectByClause expression)
ConnectByClause expression.
visit in interface EclipseLinkExpressionVisitorexpression - The ConnectByClause to visitpublic void visit(DatabaseType expression)
DatabaseType expression.
visit in interface EclipseLinkExpressionVisitorexpression - The DatabaseType to visitpublic void visit(ExtractExpression expression)
ExtractExpression expression.
visit in interface EclipseLinkExpressionVisitorexpression - The Expression to visitpublic void visit(HierarchicalQueryClause expression)
HierarchicalQueryClause expression.
visit in interface EclipseLinkExpressionVisitorexpression - The HierarchicalQueryClause to visitpublic void visit(OrderSiblingsByClause expression)
OrderSiblingsByClause expression.
visit in interface EclipseLinkExpressionVisitorexpression - The Expression to visitpublic void visit(RegexpExpression expression)
RegexpExpression expression.
visit in interface EclipseLinkExpressionVisitorexpression - The Expression to visitpublic void visit(StartWithClause expression)
StartWithClause expression.
visit in interface EclipseLinkExpressionVisitorexpression - The StartWithClause to visitpublic void visit(TableExpression expression)
TableExpression expression.
visit in interface EclipseLinkExpressionVisitorexpression - The Expression to visitpublic void visit(TableVariableDeclaration expression)
TableVariableDeclaration expression.
visit in interface EclipseLinkExpressionVisitorexpression - The Expression to visitpublic void visit(UnionClause expression)
UnionClause expression.
visit in interface EclipseLinkExpressionVisitorexpression - The Expression to visit
|
EclipseLink 2.5.0, build 'v20130507-3faac2b' API Reference | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||