public abstract class ParameterTypeVisitor extends AbstractTraverseParentVisitor
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.
Modifier and Type | Field and Description |
---|---|
protected Expression |
expression
The
Expression that will help to determine the type of the input parameter. |
protected boolean |
ignoreType
Used to ignore the type when calculating it.
|
protected InputParameter |
inputParameter
The
InputParameter for which its type will be searched by visiting the query. |
protected java.lang.Class<?> |
type
The well defined type, which does not have to be calculated.
|
protected java.lang.String |
typeName
The fully qualified name of the type.
|
protected java.util.Set<Expression> |
visitedExpressions
This is used to prevent an infinite loop.
|
Modifier | Constructor and Description |
---|---|
protected |
ParameterTypeVisitor()
Creates a new
ParameterTypeVisitor . |
Modifier and Type | Method and Description |
---|---|
void |
dispose()
Disposes this visitor.
|
abstract java.lang.Object |
getType()
Returns the type, if it can be determined, of the input parameter.
|
void |
visit(AbsExpression expression)
Visits the
AbsExpression expression. |
void |
visit(AbstractSchemaName expression)
Visits the
AbstractSchemaName expression. |
void |
visit(AdditionExpression expression)
Visits the
AdditionExpression expression. |
void |
visit(AllOrAnyExpression expression)
Visits the
AllOrAnyExpression expression. |
void |
visit(AndExpression expression)
Visits the
AndExpression expression. |
void |
visit(ArithmeticFactor expression)
Visits the
ArithmeticFactor expression. |
void |
visit(AvgFunction expression)
Visits the
AvgFunction expression. |
void |
visit(BetweenExpression expression)
Visits the
BetweenExpression expression. |
void |
visit(CaseExpression expression)
Visits the
CaseExpression expression. |
void |
visit(CoalesceExpression expression)
Visits the
CoalesceExpression expression. |
void |
visit(CollectionMemberExpression expression)
Visits the
CollectionMemberExpression expression. |
void |
visit(CollectionValuedPathExpression expression)
Visits the
CollectionValuedPathExpression expression. |
void |
visit(ComparisonExpression expression)
Visits the
ComparisonExpression expression. |
void |
visit(ConcatExpression expression)
Visits the
ConcatExpression expression. |
void |
visit(ConstructorExpression expression)
Visits the
ConstructorExpression expression. |
void |
visit(CountFunction expression)
Visits the
CountFunction expression. |
void |
visit(DateTime expression)
Visits the
DateTime expression. |
void |
visit(DivisionExpression expression)
Visits the
DivisionExpression expression. |
void |
visit(EmptyCollectionComparisonExpression expression)
Visits the
EmptyCollectionComparisonExpression expression. |
void |
visit(EntityTypeLiteral expression)
Visits the
EntityTypeLiteral expression. |
void |
visit(EntryExpression expression)
Visits the
EntryExpression expression. |
void |
visit(ExistsExpression expression)
Visits the
ExistsExpression expression. |
void |
visit(FunctionExpression expression)
Visits the
FunctionExpression expression. |
void |
visit(IdentificationVariable expression)
Visits the
IdentificationVariable expression. |
void |
visit(IndexExpression expression)
Visits the
IndexExpression expression. |
void |
visit(InExpression expression)
Visits the
InExpression expression. |
void |
visit(InputParameter expression)
Visits the
InputParameter expression. |
void |
visit(KeyExpression expression)
Visits the
KeyExpression expression. |
void |
visit(KeywordExpression expression)
Visits the
KeywordExpression expression. |
void |
visit(LengthExpression expression)
Visits the
LengthExpression expression. |
void |
visit(LikeExpression expression)
Visits the
LikeExpression expression. |
void |
visit(LocateExpression expression)
Visits the
LocateExpression expression. |
void |
visit(LowerExpression expression)
Visits the
LowerExpression expression. |
void |
visit(MaxFunction expression)
Visits the
MaxFunction expression. |
void |
visit(MinFunction expression)
Visits the
MinFunction expression. |
void |
visit(ModExpression expression)
Visits the
ModExpression expression. |
void |
visit(MultiplicationExpression expression)
Visits the
MultiplicationExpression expression. |
void |
visit(NotExpression expression)
Visits the
NotExpression expression. |
void |
visit(NullComparisonExpression expression)
Visits the
NullComparisonExpression expression. |
void |
visit(NullIfExpression expression)
Visits the
NullIfExpression expression. |
void |
visit(NumericLiteral expression)
Visits the
NumericLiteral expression. |
void |
visit(ObjectExpression expression)
Visits the
ObjectExpression expression. |
void |
visit(OrExpression expression)
Visits the
OrExpression expression. |
void |
visit(SizeExpression expression)
Visits the
SizeExpression expression. |
void |
visit(SqrtExpression expression)
Visits the
SqrtExpression expression. |
void |
visit(StateFieldPathExpression expression)
Visits the
StateFieldPathExpression expression. |
void |
visit(StringLiteral expression)
Visits the
StringLiteral expression. |
void |
visit(SubstringExpression expression)
Visits the
SubstringExpression expression. |
void |
visit(SubtractionExpression expression)
Visits the
SubtractionExpression expression. |
void |
visit(SumFunction expression)
Visits the
SumFunction expression. |
void |
visit(TrimExpression expression)
Visits the
TrimExpression expression. |
void |
visit(TypeExpression expression)
Visits the
TypeExpression expression. |
void |
visit(UpdateItem expression)
Visits the
UpdateItem expression. |
void |
visit(UpperExpression expression)
Visits the
UpperExpression expression. |
void |
visit(ValueExpression expression)
Visits the
ValueExpression expression. |
void |
visit(WhenClause expression)
Visits the
WhenClause expression. |
protected void |
visitCompoundExpression(CompoundExpression expression) |
protected void |
visitDoubleEncapsulatedExpression(AbstractDoubleEncapsulatedExpression expression) |
protected void |
visitDoubleExpressions(Expression expression,
Expression firstExpression,
Expression secondExpression,
boolean traverseParent) |
visit, visit
protected Expression expression
Expression
that will help to determine the type of the input parameter.protected boolean ignoreType
protected InputParameter inputParameter
InputParameter
for which its type will be searched by visiting the query.protected java.lang.Class<?> type
protected java.lang.String typeName
protected final java.util.Set<Expression> visitedExpressions
protected ParameterTypeVisitor()
ParameterTypeVisitor
.public void dispose()
public abstract java.lang.Object getType()
Object
if it can't be determinedpublic void visit(AbsExpression expression)
AbsExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(AbstractSchemaName expression)
AbstractSchemaName
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(AdditionExpression expression)
AdditionExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(AllOrAnyExpression expression)
AllOrAnyExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(AndExpression expression)
AndExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(ArithmeticFactor expression)
ArithmeticFactor
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(AvgFunction expression)
AvgFunction
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(BetweenExpression expression)
BetweenExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(CaseExpression expression)
CaseExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(CoalesceExpression expression)
CoalesceExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(CollectionMemberExpression expression)
CollectionMemberExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(CollectionValuedPathExpression expression)
CollectionValuedPathExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(ComparisonExpression expression)
ComparisonExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(ConcatExpression expression)
ConcatExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(ConstructorExpression expression)
ConstructorExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(CountFunction expression)
CountFunction
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(DateTime expression)
DateTime
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(DivisionExpression expression)
DivisionExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(EmptyCollectionComparisonExpression expression)
EmptyCollectionComparisonExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(EntityTypeLiteral expression)
EntityTypeLiteral
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(EntryExpression expression)
EntryExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(ExistsExpression expression)
ExistsExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(FunctionExpression expression)
FunctionExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(IdentificationVariable expression)
IdentificationVariable
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(IndexExpression expression)
IndexExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(InExpression expression)
InExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(InputParameter expression)
InputParameter
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(KeyExpression expression)
KeyExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(KeywordExpression expression)
KeywordExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(LengthExpression expression)
LengthExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(LikeExpression expression)
LikeExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(LocateExpression expression)
LocateExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(LowerExpression expression)
LowerExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(MaxFunction expression)
MaxFunction
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(MinFunction expression)
MinFunction
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(ModExpression expression)
ModExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(MultiplicationExpression expression)
MultiplicationExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(NotExpression expression)
NotExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(NullComparisonExpression expression)
NullComparisonExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(NullIfExpression expression)
NullIfExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(NumericLiteral expression)
NumericLiteral
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(ObjectExpression expression)
ObjectExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(OrExpression expression)
OrExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(SizeExpression expression)
SizeExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(SqrtExpression expression)
SqrtExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(StateFieldPathExpression expression)
StateFieldPathExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(StringLiteral expression)
StringLiteral
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(SubstringExpression expression)
SubstringExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(SubtractionExpression expression)
SubtractionExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(SumFunction expression)
SumFunction
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(TrimExpression expression)
TrimExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(TypeExpression expression)
TypeExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The Expression
to visitpublic void visit(UpdateItem expression)
UpdateItem
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The UpdateItem
to visitpublic void visit(UpperExpression expression)
UpperExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The UpperExpression
to visitpublic void visit(ValueExpression expression)
ValueExpression
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The ValueExpression
to visitpublic void visit(WhenClause expression)
WhenClause
expression.visit
in interface ExpressionVisitor
visit
in class AnonymousExpressionVisitor
expression
- The WhenClause
to visitprotected void visitCompoundExpression(CompoundExpression expression)
protected void visitDoubleEncapsulatedExpression(AbstractDoubleEncapsulatedExpression expression)
protected void visitDoubleExpressions(Expression expression, Expression firstExpression, Expression secondExpression, boolean traverseParent)