public class RexShuttle extends java.lang.Object implements RexVisitor<RexNode>
Like RexVisitor
, this is an instance of the
Visitor Pattern
. Use
RexShuttle
if you would like your methods to return a
value.
Constructor and Description |
---|
RexShuttle() |
Modifier and Type | Method and Description |
---|---|
java.lang.Iterable<RexNode> |
apply(java.lang.Iterable<? extends RexNode> iterable)
Applies this shuttle to each expression in an iterable.
|
<T extends RexNode> |
apply(java.util.List<T> exprList)
Applies this shuttle to each expression in a list and returns the
resulting list.
|
RexNode |
apply(RexNode expr)
Applies this shuttle to an expression, or returns null if the expression
is null.
|
<T extends RexNode> |
mutate(java.util.List<T> exprList)
Applies this shuttle to each expression in a list.
|
protected RexNode[] |
visitArray(RexNode[] exprs,
boolean[] update)
Visits each of an array of expressions and returns an array of the
results.
|
RexNode |
visitCall(RexCall call) |
RexNode |
visitCorrelVariable(RexCorrelVariable variable) |
RexNode |
visitDynamicParam(RexDynamicParam dynamicParam) |
RexNode |
visitFieldAccess(RexFieldAccess fieldAccess) |
protected java.util.List<RexFieldCollation> |
visitFieldCollations(java.util.List<RexFieldCollation> collations,
boolean[] update)
Visits each of a list of field collations and returns a list of the
results.
|
RexNode |
visitInputRef(RexInputRef inputRef) |
protected java.util.List<RexNode> |
visitList(java.util.List<? extends RexNode> exprs,
boolean[] update)
Visits each of a list of expressions and returns a list of the
results.
|
void |
visitList(java.util.List<? extends RexNode> exprs,
java.util.List<RexNode> outExprs)
Visits a list and writes the results to another list.
|
RexNode |
visitLiteral(RexLiteral literal) |
RexNode |
visitLocalRef(RexLocalRef localRef) |
RexNode |
visitOver(RexOver over) |
RexNode |
visitPatternFieldRef(RexPatternFieldRef fieldRef) |
RexNode |
visitRangeRef(RexRangeRef rangeRef) |
RexNode |
visitSubQuery(RexSubQuery subQuery) |
RexNode |
visitTableInputRef(RexTableInputRef ref) |
RexWindow |
visitWindow(RexWindow window) |
public RexNode visitOver(RexOver over)
visitOver
in interface RexVisitor<RexNode>
public RexNode visitSubQuery(RexSubQuery subQuery)
visitSubQuery
in interface RexVisitor<RexNode>
public RexNode visitTableInputRef(RexTableInputRef ref)
visitTableInputRef
in interface RexVisitor<RexNode>
public RexNode visitPatternFieldRef(RexPatternFieldRef fieldRef)
visitPatternFieldRef
in interface RexVisitor<RexNode>
public RexNode visitCall(RexCall call)
visitCall
in interface RexVisitor<RexNode>
protected RexNode[] visitArray(RexNode[] exprs, boolean[] update)
exprs
- Array of expressionsupdate
- If not null, sets this to true if any of the expressions
was modifiedprotected java.util.List<RexNode> visitList(java.util.List<? extends RexNode> exprs, boolean[] update)
exprs
- List of expressionsupdate
- If not null, sets this to true if any of the expressions
was modifiedpublic void visitList(java.util.List<? extends RexNode> exprs, java.util.List<RexNode> outExprs)
protected java.util.List<RexFieldCollation> visitFieldCollations(java.util.List<RexFieldCollation> collations, boolean[] update)
collations
- List of field collationsupdate
- If not null, sets this to true if any of the expressions
was modifiedpublic RexNode visitCorrelVariable(RexCorrelVariable variable)
visitCorrelVariable
in interface RexVisitor<RexNode>
public RexNode visitFieldAccess(RexFieldAccess fieldAccess)
visitFieldAccess
in interface RexVisitor<RexNode>
public RexNode visitInputRef(RexInputRef inputRef)
visitInputRef
in interface RexVisitor<RexNode>
public RexNode visitLocalRef(RexLocalRef localRef)
visitLocalRef
in interface RexVisitor<RexNode>
public RexNode visitLiteral(RexLiteral literal)
visitLiteral
in interface RexVisitor<RexNode>
public RexNode visitDynamicParam(RexDynamicParam dynamicParam)
visitDynamicParam
in interface RexVisitor<RexNode>
public RexNode visitRangeRef(RexRangeRef rangeRef)
visitRangeRef
in interface RexVisitor<RexNode>
public final <T extends RexNode> boolean mutate(java.util.List<T> exprList)
public final <T extends RexNode> java.util.List<T> apply(java.util.List<T> exprList)
public final java.lang.Iterable<RexNode> apply(java.lang.Iterable<? extends RexNode> iterable)
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.