Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle TopLink
11g Release 1 (11.1.1)

E28847-01


org.eclipse.persistence.jpa.internal.jpql
Class ParameterTypeVisitor

java.lang.Object
  extended by org.eclipse.persistence.jpa.internal.jpql.parser.AnonymousExpressionVisitor
      extended by org.eclipse.persistence.jpa.internal.jpql.parser.AbstractTraverseParentVisitor
          extended by org.eclipse.persistence.jpa.internal.jpql.ParameterTypeVisitor

All Implemented Interfaces:
ExpressionVisitor

final class ParameterTypeVisitor
extends AbstractTraverseParentVisitor

This visitor's responsibility is to find the type of an input parameter.

Since:
2.3
Version:
2.3
Author:
Pascal Filion

Field Summary
private  Expression currentExpression
          This is used to prevent an infinite loop between input parameters.
private  Expression expression
          The Expression that will help to determine the type of the input parameter.
private  boolean ignoreType
          Used to ignore the type when calculating it.
private  InputParameter inputParameter
          The InputParameter for which its type will be searched by visiting the query.
private  JPQLQueryContext queryContext
          The context used to query information about the query.
private  java.lang.Class<?> type
          The well defined type, which does not have to be calculated.

 

Constructor Summary
ParameterTypeVisitor(JPQLQueryContext queryContext)
          Creates a new ParameterTypeVisitor.

 

Method Summary
(package private)  void dispose()
          Disposes this visitor.
(package private)  IType getType()
          Returns the type, if it can be determined, of the input parameter.
 void visit(AbsExpression expression)
          Visits the AbsExpression expression.
 void visit(AdditionExpression expression)
          Visits the AdditionExpression expression.
 void visit(AndExpression expression)
          Visits the AndExpression expression.
 void visit(AvgFunction expression)
          Visits the AvgFunction expression.
 void visit(BetweenExpression expression)
          Visits the BetweenExpression 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(CountFunction expression)
          Visits the CountFunction expression.
 void visit(DivisionExpression expression)
          Visits the DivisionExpression expression.
 void visit(EmptyCollectionComparisonExpression expression)
          Visits the EmptyCollectionComparisonExpression expression.
 void visit(ExistsExpression expression)
          Visits the ExistsExpression expression.
 void visit(IdentificationVariable expression)
          Visits the IdentificationVariable expression.
 void visit(InExpression expression)
          Visits the InExpression expression.
 void visit(InputParameter expression)
          Visits the InputParameter expression.
 void visit(LengthExpression expression)
          Visits the LengthExpression expression.
 void visit(LikeExpression expression)
          Visits the LikeExpression 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(NullComparisonExpression expression)
          Visits the NullComparisonExpression expression.
 void visit(NumericLiteral expression)
          Visits the NumericLiteral 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(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(UpdateItem expression)
          Visits the UpdateItem expression.
private  void visitCompoundExpression(CompoundExpression expression)
           

 

Methods inherited from class org.eclipse.persistence.jpa.internal.jpql.parser.AbstractTraverseParentVisitor
visit, visit

 

Methods inherited from class org.eclipse.persistence.jpa.internal.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, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Field Detail

currentExpression

private Expression currentExpression
This is used to prevent an infinite loop between input parameters. Example: ":arg1 = :arg2".

expression

private Expression expression
The Expression that will help to determine the type of the input parameter.

ignoreType

private boolean ignoreType
Used 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

private InputParameter inputParameter
The InputParameter for which its type will be searched by visiting the query.

queryContext

private final JPQLQueryContext queryContext
The context used to query information about the query.

type

private java.lang.Class<?> type
The well defined type, which does not have to be calculated.

Constructor Detail

ParameterTypeVisitor

ParameterTypeVisitor(JPQLQueryContext queryContext)
Creates a new ParameterTypeVisitor.
Parameters:
query - The external form representing the JPQL query

Method Detail

dispose

void dispose()
Disposes this visitor.

getType

IType getType()
Returns the type, if it can be determined, of the input parameter.
Parameters:
typeVisitor - The visitor used to calculate the type of the Expression that was found to have the closest type of the input parameter
Returns:
Either the closed type or Object if it can't be determined

visit

public void visit(AbsExpression expression)
Visits the AbsExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(AdditionExpression expression)
Visits the AdditionExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(AndExpression expression)
Visits the AndExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(AvgFunction expression)
Visits the AvgFunction expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(BetweenExpression expression)
Visits the BetweenExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(CollectionValuedPathExpression expression)
Visits the CollectionValuedPathExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(ComparisonExpression expression)
Visits the ComparisonExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(ConcatExpression expression)
Visits the ConcatExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(CountFunction expression)
Visits the CountFunction expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(DivisionExpression expression)
Visits the DivisionExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(EmptyCollectionComparisonExpression expression)
Visits the EmptyCollectionComparisonExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(ExistsExpression expression)
Visits the ExistsExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(IdentificationVariable expression)
Visits the IdentificationVariable expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(InExpression expression)
Visits the InExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(InputParameter expression)
Visits the InputParameter expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(LengthExpression expression)
Visits the LengthExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(LikeExpression expression)
Visits the LikeExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(LowerExpression expression)
Visits the LowerExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(MaxFunction expression)
Visits the MaxFunction expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(MinFunction expression)
Visits the MinFunction expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(ModExpression expression)
Visits the ModExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(MultiplicationExpression expression)
Visits the MultiplicationExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(NullComparisonExpression expression)
Visits the NullComparisonExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(NumericLiteral expression)
Visits the NumericLiteral expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(OrExpression expression)
Visits the OrExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(SizeExpression expression)
Visits the SizeExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(SqrtExpression expression)
Visits the SqrtExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(StateFieldPathExpression expression)
Visits the StateFieldPathExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(SubstringExpression expression)
Visits the SubstringExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(SubtractionExpression expression)
Visits the SubtractionExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(SumFunction expression)
Visits the SumFunction expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(TrimExpression expression)
Visits the TrimExpression expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visit

public void visit(UpdateItem expression)
Visits the UpdateItem expression.
Specified by:
visit in interface ExpressionVisitor
Overrides:
visit in class AnonymousExpressionVisitor
Parameters:
expression - The Expression to visit

visitCompoundExpression

private void visitCompoundExpression(CompoundExpression expression)

Skip navigation links

Copyright © 1998, 2012, Oracle. All Rights Reserved.