public class QueryExpressionCopier extends Object implements QueryExpressionVisitor
QueryExpressionVisitor
copies the visited QueryExpression
.Modifier and Type | Field and Description |
---|---|
protected Stack<QueryExpression<?>> |
results |
Constructor and Description |
---|
QueryExpressionCopier() |
Modifier and Type | Method and Description |
---|---|
static <ExpressionType> |
copyExpression(QueryExpression<ExpressionType> original)
This utility function copies a given
QueryExpression . |
<NumericalType extends Number> |
finishVisit(Addition<NumericalType> expression) |
void |
finishVisit(Conjunction expression) |
void |
finishVisit(Disjunction expression) |
<NumericalType extends Number> |
finishVisit(Division<NumericalType> expression) |
<ComparableType> |
finishVisit(Equality<ComparableType> expression) |
void |
finishVisit(ExpressionMatches expression) |
<Type extends Comparable<Type>> |
finishVisit(FieldOrder<Type> expression) |
<ComparableType extends Comparable<ComparableType>> |
finishVisit(GreaterEqual<ComparableType> expression) |
<ComparableType extends Comparable<ComparableType>> |
finishVisit(GreaterThan<ComparableType> expression) |
<ElementType,CollectionType extends Collection<ElementType>> |
finishVisit(In<ElementType,CollectionType> expression) |
<Type1,Type2> |
finishVisit(Inequality<Type1,Type2> expression) |
<ElementType,CollectionType extends Collection<ElementType>> |
finishVisit(IsEmpty<ElementType,CollectionType> expression) |
<ElementType,CollectionType extends Collection<ElementType>> |
finishVisit(IsNotEmpty<ElementType,CollectionType> expression) |
<Type> void |
finishVisit(IsNotNull<Type> isNotNull) |
<Type> void |
finishVisit(IsNull<Type> expression) |
<ComparableType extends Comparable<ComparableType>> |
finishVisit(LessEqual<ComparableType> expression) |
<ComparableType extends Comparable<ComparableType>> |
finishVisit(LessThan<ComparableType> expression) |
<ElementType,CollectionType extends Collection<ElementType>> |
finishVisit(MemberOf<ElementType,CollectionType> expression) |
<NumericalType extends Number> |
finishVisit(Multiplication<NumericalType> expression) |
void |
finishVisit(Negation expression) |
<ElementType,CollectionType extends Collection<ElementType>> |
finishVisit(NotContained<ElementType,CollectionType> expression) |
<ElementType,CollectionType extends Collection<ElementType>> |
finishVisit(NotMemberOf<ElementType,CollectionType> expression) |
void |
finishVisit(OrderByClause expression) |
void |
finishVisit(SelectClause fieldList) |
void |
finishVisit(SelectQuery expression) |
<NumericalType extends Number> |
finishVisit(Subtraction<NumericalType> expression) |
protected <T> T |
pop(Class<T> clazz) |
protected <T> QueryExpression<T> |
popExpression(Class<T> expressionClass) |
<NumericalType extends Number> |
startVisit(Addition<NumericalType> expression) |
void |
startVisit(Conjunction expression) |
void |
startVisit(Disjunction expression) |
<NumericalType extends Number> |
startVisit(Division<NumericalType> expression) |
<ComparableType> |
startVisit(Equality<ComparableType> expression) |
void |
startVisit(ExpressionMatches expression) |
<Type extends Comparable<Type>> |
startVisit(FieldOrder<Type> expression) |
<ComparableType extends Comparable<ComparableType>> |
startVisit(GreaterEqual<ComparableType> expression) |
<ComparableType extends Comparable<ComparableType>> |
startVisit(GreaterThan<ComparableType> expression) |
<ElementType,CollectionType extends Collection<ElementType>> |
startVisit(In<ElementType,CollectionType> expression) |
<Type1,Type2> |
startVisit(Inequality<Type1,Type2> expression) |
<ElementType,CollectionType extends Collection<ElementType>> |
startVisit(IsEmpty<ElementType,CollectionType> expression) |
<ElementType,CollectionType extends Collection<ElementType>> |
startVisit(IsNotEmpty<ElementType,CollectionType> expression) |
<Type> void |
startVisit(IsNotNull<Type> expression) |
<Type> void |
startVisit(IsNull<Type> expression) |
<ComparableType extends Comparable<ComparableType>> |
startVisit(LessEqual<ComparableType> expression) |
<ComparableType extends Comparable<ComparableType>> |
startVisit(LessThan<ComparableType> expression) |
<ElementType,CollectionType extends Collection<ElementType>> |
startVisit(MemberOf<ElementType,CollectionType> expression) |
<NumericalType extends Number> |
startVisit(Multiplication<NumericalType> expression) |
void |
startVisit(Negation expression) |
<ElementType,CollectionType extends Collection<ElementType>> |
startVisit(NotContained<ElementType,CollectionType> expression) |
<ElementType,CollectionType extends Collection<ElementType>> |
startVisit(NotMemberOf<ElementType,CollectionType> expression) |
void |
startVisit(OrderByClause expression) |
void |
startVisit(SelectClause fieldList) |
void |
startVisit(SelectQuery expression) |
<NumericalType extends Number> |
startVisit(Subtraction<NumericalType> expression) |
void |
visit(BooleanLiteral expression) |
<ExpressionType> |
visit(FieldReference<ExpressionType> expression) |
<Type> void |
visit(ParameterDefinition<Type> expression) |
<Type> void |
visit(ParameterReference<Type> expression) |
void |
visit(TableReference expression) |
<Type> void |
visit(TemplateParameter<Type> expression) |
protected final Stack<QueryExpression<?>> results
protected <T> T pop(Class<T> clazz)
protected <T> QueryExpression<T> popExpression(Class<T> expressionClass)
public static <ExpressionType> QueryExpression<ExpressionType> copyExpression(QueryExpression<ExpressionType> original)
QueryExpression
.ExpressionType
- the expression typeoriginal
- the expression to copypublic <Type> void visit(ParameterDefinition<Type> expression)
visit
in interface QueryExpressionVisitor
public <Type> void visit(ParameterReference<Type> expression)
visit
in interface QueryExpressionVisitor
public void visit(TableReference expression)
visit
in interface QueryExpressionVisitor
public <ExpressionType> void visit(FieldReference<ExpressionType> expression)
visit
in interface QueryExpressionVisitor
public void visit(BooleanLiteral expression)
visit
in interface QueryExpressionVisitor
public <Type> void visit(TemplateParameter<Type> expression)
visit
in interface QueryExpressionVisitor
public void startVisit(SelectQuery expression)
startVisit
in interface QueryExpressionVisitor
public void finishVisit(SelectQuery expression)
finishVisit
in interface QueryExpressionVisitor
public <ElementType,CollectionType extends Collection<ElementType>> void startVisit(MemberOf<ElementType,CollectionType> expression)
startVisit
in interface QueryExpressionVisitor
public <ElementType,CollectionType extends Collection<ElementType>> void finishVisit(MemberOf<ElementType,CollectionType> expression)
finishVisit
in interface QueryExpressionVisitor
public <ComparableType> void startVisit(Equality<ComparableType> expression)
startVisit
in interface QueryExpressionVisitor
public <ComparableType> void finishVisit(Equality<ComparableType> expression)
finishVisit
in interface QueryExpressionVisitor
public void startVisit(Conjunction expression)
startVisit
in interface QueryExpressionVisitor
public void finishVisit(Conjunction expression)
finishVisit
in interface QueryExpressionVisitor
public <NumericalType extends Number> void startVisit(Subtraction<NumericalType> expression)
startVisit
in interface QueryExpressionVisitor
public <NumericalType extends Number> void finishVisit(Subtraction<NumericalType> expression)
finishVisit
in interface QueryExpressionVisitor
public <NumericalType extends Number> void startVisit(Division<NumericalType> expression)
startVisit
in interface QueryExpressionVisitor
public <NumericalType extends Number> void finishVisit(Division<NumericalType> expression)
finishVisit
in interface QueryExpressionVisitor
public void startVisit(Disjunction expression)
startVisit
in interface QueryExpressionVisitor
public void finishVisit(Disjunction expression)
finishVisit
in interface QueryExpressionVisitor
public <NumericalType extends Number> void startVisit(Multiplication<NumericalType> expression)
startVisit
in interface QueryExpressionVisitor
public <NumericalType extends Number> void finishVisit(Multiplication<NumericalType> expression)
finishVisit
in interface QueryExpressionVisitor
public <NumericalType extends Number> void startVisit(Addition<NumericalType> expression)
startVisit
in interface QueryExpressionVisitor
public <NumericalType extends Number> void finishVisit(Addition<NumericalType> expression)
finishVisit
in interface QueryExpressionVisitor
public void startVisit(ExpressionMatches expression)
startVisit
in interface QueryExpressionVisitor
public void finishVisit(ExpressionMatches expression)
finishVisit
in interface QueryExpressionVisitor
public <ComparableType extends Comparable<ComparableType>> void startVisit(GreaterEqual<ComparableType> expression)
startVisit
in interface QueryExpressionVisitor
public <ComparableType extends Comparable<ComparableType>> void finishVisit(GreaterEqual<ComparableType> expression)
finishVisit
in interface QueryExpressionVisitor
public <ComparableType extends Comparable<ComparableType>> void startVisit(GreaterThan<ComparableType> expression)
startVisit
in interface QueryExpressionVisitor
public <ComparableType extends Comparable<ComparableType>> void finishVisit(GreaterThan<ComparableType> expression)
finishVisit
in interface QueryExpressionVisitor
public <ComparableType extends Comparable<ComparableType>> void startVisit(LessEqual<ComparableType> expression)
startVisit
in interface QueryExpressionVisitor
public <ComparableType extends Comparable<ComparableType>> void finishVisit(LessEqual<ComparableType> expression)
finishVisit
in interface QueryExpressionVisitor
public <ComparableType extends Comparable<ComparableType>> void startVisit(LessThan<ComparableType> expression)
startVisit
in interface QueryExpressionVisitor
public <ComparableType extends Comparable<ComparableType>> void finishVisit(LessThan<ComparableType> expression)
finishVisit
in interface QueryExpressionVisitor
public <Type1,Type2> void startVisit(Inequality<Type1,Type2> expression)
startVisit
in interface QueryExpressionVisitor
public <Type1,Type2> void finishVisit(Inequality<Type1,Type2> expression)
finishVisit
in interface QueryExpressionVisitor
public <ElementType,CollectionType extends Collection<ElementType>> void startVisit(NotMemberOf<ElementType,CollectionType> expression)
startVisit
in interface QueryExpressionVisitor
public <ElementType,CollectionType extends Collection<ElementType>> void finishVisit(NotMemberOf<ElementType,CollectionType> expression)
finishVisit
in interface QueryExpressionVisitor
public <ElementType,CollectionType extends Collection<ElementType>> void startVisit(NotContained<ElementType,CollectionType> expression)
startVisit
in interface QueryExpressionVisitor
public <ElementType,CollectionType extends Collection<ElementType>> void finishVisit(NotContained<ElementType,CollectionType> expression)
finishVisit
in interface QueryExpressionVisitor
public <ElementType,CollectionType extends Collection<ElementType>> void startVisit(In<ElementType,CollectionType> expression)
startVisit
in interface QueryExpressionVisitor
public <ElementType,CollectionType extends Collection<ElementType>> void finishVisit(In<ElementType,CollectionType> expression)
finishVisit
in interface QueryExpressionVisitor
public <ElementType,CollectionType extends Collection<ElementType>> void startVisit(IsNotEmpty<ElementType,CollectionType> expression)
startVisit
in interface QueryExpressionVisitor
public <ElementType,CollectionType extends Collection<ElementType>> void finishVisit(IsNotEmpty<ElementType,CollectionType> expression)
finishVisit
in interface QueryExpressionVisitor
public <Type> void startVisit(IsNull<Type> expression)
startVisit
in interface QueryExpressionVisitor
public <Type> void finishVisit(IsNull<Type> expression)
finishVisit
in interface QueryExpressionVisitor
public <Type> void startVisit(IsNotNull<Type> expression)
startVisit
in interface QueryExpressionVisitor
public <Type> void finishVisit(IsNotNull<Type> isNotNull)
finishVisit
in interface QueryExpressionVisitor
public <ElementType,CollectionType extends Collection<ElementType>> void startVisit(IsEmpty<ElementType,CollectionType> expression)
startVisit
in interface QueryExpressionVisitor
public <ElementType,CollectionType extends Collection<ElementType>> void finishVisit(IsEmpty<ElementType,CollectionType> expression)
finishVisit
in interface QueryExpressionVisitor
public void startVisit(Negation expression)
startVisit
in interface QueryExpressionVisitor
public void finishVisit(Negation expression)
finishVisit
in interface QueryExpressionVisitor
public void startVisit(SelectClause fieldList)
startVisit
in interface QueryExpressionVisitor
public void finishVisit(SelectClause fieldList)
finishVisit
in interface QueryExpressionVisitor
public void startVisit(OrderByClause expression)
startVisit
in interface QueryExpressionVisitor
public void finishVisit(OrderByClause expression)
finishVisit
in interface QueryExpressionVisitor
public <Type extends Comparable<Type>> void startVisit(FieldOrder<Type> expression)
startVisit
in interface QueryExpressionVisitor
public <Type extends Comparable<Type>> void finishVisit(FieldOrder<Type> expression)
finishVisit
in interface QueryExpressionVisitor
Copyright © 2020 Hyland Software Germany GmbH. All rights reserved.