Package org.eclipse.persistence.jpa.jpql
Class ParameterTypeVisitor
java.lang.Object
org.eclipse.persistence.jpa.jpql.parser.AnonymousExpressionVisitor
org.eclipse.persistence.jpa.jpql.parser.AbstractTraverseParentVisitor
org.eclipse.persistence.jpa.jpql.ParameterTypeVisitor
- All Implemented Interfaces:
ExpressionVisitor
- Direct Known Subclasses:
AbstractEclipseLinkParameterTypeVisitor
,DefaultParameterTypeVisitor
This visitor calculates the type of an input parameter.
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.
- Since:
- 2.5
- Version:
- 2.5
-
Field Summary
Modifier and TypeFieldDescriptionprotected Expression
TheExpression
that will help to determine the type of the input parameter.protected boolean
Used to ignore the type when calculating it.protected InputParameter
TheInputParameter
for which its type will be searched by visiting the query.protected Class
<?> The well defined type, which does not have to be calculated.protected String
The fully qualified name of the type.protected final Set
<Expression> This is used to prevent an infinite loop. -
Constructor Summary
ModifierConstructorDescriptionprotected
Creates a newParameterTypeVisitor
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
dispose()
Disposes this visitor.abstract Object
getType()
Returns the type, if it can be determined, of the input parameter.void
visit
(AbsExpression expression) Visits theAbsExpression
expression.void
visit
(AbstractSchemaName expression) Visits theAbstractSchemaName
expression.void
visit
(AdditionExpression expression) Visits theAdditionExpression
expression.void
visit
(AllOrAnyExpression expression) Visits theAllOrAnyExpression
expression.void
visit
(AndExpression expression) Visits theAndExpression
expression.void
visit
(ArithmeticFactor expression) Visits theArithmeticFactor
expression.void
visit
(AvgFunction expression) Visits theAvgFunction
expression.void
visit
(BetweenExpression expression) Visits theBetweenExpression
expression.void
visit
(CaseExpression expression) Visits theCaseExpression
expression.void
visit
(CoalesceExpression expression) Visits theCoalesceExpression
expression.void
visit
(CollectionMemberExpression expression) Visits theCollectionMemberExpression
expression.void
visit
(CollectionValuedPathExpression expression) Visits theCollectionValuedPathExpression
expression.void
visit
(ComparisonExpression expression) Visits theComparisonExpression
expression.void
visit
(ConcatExpression expression) Visits theConcatExpression
expression.void
visit
(ConstructorExpression expression) Visits theConstructorExpression
expression.void
visit
(CountFunction expression) Visits theCountFunction
expression.void
Visits theDateTime
expression.void
visit
(DivisionExpression expression) Visits theDivisionExpression
expression.void
visit
(EmptyCollectionComparisonExpression expression) Visits theEmptyCollectionComparisonExpression
expression.void
visit
(EntityTypeLiteral expression) Visits theEntityTypeLiteral
expression.void
visit
(EntryExpression expression) Visits theEntryExpression
expression.void
visit
(ExistsExpression expression) Visits theExistsExpression
expression.void
visit
(FunctionExpression expression) Visits theFunctionExpression
expression.void
visit
(IdentificationVariable expression) Visits theIdentificationVariable
expression.void
visit
(IndexExpression expression) Visits theIndexExpression
expression.void
visit
(InExpression expression) Visits theInExpression
expression.void
visit
(InputParameter expression) Visits theInputParameter
expression.void
visit
(KeyExpression expression) Visits theKeyExpression
expression.void
visit
(KeywordExpression expression) Visits theKeywordExpression
expression.void
visit
(LengthExpression expression) Visits theLengthExpression
expression.void
visit
(LikeExpression expression) Visits theLikeExpression
expression.void
visit
(LocateExpression expression) Visits theLocateExpression
expression.void
visit
(LowerExpression expression) Visits theLowerExpression
expression.void
visit
(MaxFunction expression) Visits theMaxFunction
expression.void
visit
(MinFunction expression) Visits theMinFunction
expression.void
visit
(ModExpression expression) Visits theModExpression
expression.void
visit
(MultiplicationExpression expression) Visits theMultiplicationExpression
expression.void
visit
(NotExpression expression) Visits theNotExpression
expression.void
visit
(NullComparisonExpression expression) Visits theNullComparisonExpression
expression.void
visit
(NullIfExpression expression) Visits theNullIfExpression
expression.void
visit
(NumericLiteral expression) Visits theNumericLiteral
expression.void
visit
(ObjectExpression expression) Visits theObjectExpression
expression.void
visit
(OrExpression expression) Visits theOrExpression
expression.void
visit
(SizeExpression expression) Visits theSizeExpression
expression.void
visit
(SqrtExpression expression) Visits theSqrtExpression
expression.void
visit
(StateFieldPathExpression expression) Visits theStateFieldPathExpression
expression.void
visit
(StringLiteral expression) Visits theStringLiteral
expression.void
visit
(SubstringExpression expression) Visits theSubstringExpression
expression.void
visit
(SubtractionExpression expression) Visits theSubtractionExpression
expression.void
visit
(SumFunction expression) Visits theSumFunction
expression.void
visit
(TrimExpression expression) Visits theTrimExpression
expression.void
visit
(TypeExpression expression) Visits theTypeExpression
expression.void
visit
(UpdateItem expression) Visits theUpdateItem
expression.void
visit
(UpperExpression expression) Visits theUpperExpression
expression.void
visit
(ValueExpression expression) Visits theValueExpression
expression.void
visit
(WhenClause expression) Visits theWhenClause
expression.protected void
visitCompoundExpression
(CompoundExpression expression) protected void
protected void
visitDoubleExpressions
(Expression expression, Expression firstExpression, Expression secondExpression, boolean traverseParent) Methods inherited from class org.eclipse.persistence.jpa.jpql.parser.AbstractTraverseParentVisitor
visit, visit
Methods inherited from class org.eclipse.persistence.jpa.jpql.parser.AnonymousExpressionVisitor
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
-
Field Details
-
expression
TheExpression
that will help to determine the type of the input parameter. -
ignoreType
protected boolean ignoreTypeUsed to ignore the type when calculating it. If Object.class was used, then it could incorrectly calculate the type. Example: ":arg = 'JPQL' AND :arg IS NULL", the second :arg should be ignored. -
inputParameter
TheInputParameter
for which its type will be searched by visiting the query. -
type
The well defined type, which does not have to be calculated. -
typeName
The fully qualified name of the type. -
visitedExpressions
This is used to prevent an infinite loop.
-
-
Constructor Details
-
ParameterTypeVisitor
protected ParameterTypeVisitor()Creates a newParameterTypeVisitor
.
-
-
Method Details
-
dispose
public void dispose()Disposes this visitor. -
getType
Returns the type, if it can be determined, of the input parameter.- Returns:
- Either the closed type or
Object
if it can't be determined
-
visit
Description copied from interface:ExpressionVisitor
Visits theAbsExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theAbstractSchemaName
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theAdditionExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theAllOrAnyExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theAndExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theArithmeticFactor
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theAvgFunction
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theBetweenExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theCaseExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theCoalesceExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theCollectionMemberExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theCollectionValuedPathExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theComparisonExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theConcatExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theConstructorExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theCountFunction
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theDateTime
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theDivisionExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theEmptyCollectionComparisonExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theEntityTypeLiteral
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theEntryExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theExistsExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theFunctionExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theIdentificationVariable
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theIndexExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theInExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theInputParameter
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theKeyExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theKeywordExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theLengthExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theLikeExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theLocateExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theLowerExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theMaxFunction
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theMinFunction
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theModExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theMultiplicationExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theNotExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theNullComparisonExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theNullIfExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theNumericLiteral
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theObjectExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theOrExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theSizeExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theSqrtExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theStateFieldPathExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theStringLiteral
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theSubstringExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theSubtractionExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theSumFunction
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theTrimExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theTypeExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theUpdateItem
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheUpdateItem
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theUpperExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheUpperExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theValueExpression
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheValueExpression
to visit
-
visit
Description copied from interface:ExpressionVisitor
Visits theWhenClause
expression.- Specified by:
visit
in interfaceExpressionVisitor
- Overrides:
visit
in classAnonymousExpressionVisitor
- Parameters:
expression
- TheWhenClause
to visit
-
visitCompoundExpression
-
visitDoubleEncapsulatedExpression
-
visitDoubleExpressions
protected void visitDoubleExpressions(Expression expression, Expression firstExpression, Expression secondExpression, boolean traverseParent)
-