public class RexShuttle extends 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 |
|---|---|
<T extends RexNode> |
apply(@PolyNull List<T> exprList)
Applies this shuttle to each expression in a list and returns the
resulting list.
|
@PolyNull RexNode |
apply(@PolyNull RexNode expr)
Applies this shuttle to an expression, or returns null if the expression
is null.
|
<T extends RexNode> |
mutate(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 List<RexFieldCollation> |
visitFieldCollations(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 List<RexNode> |
visitList(List<? extends RexNode> exprs,
boolean[] update)
Visits each of a list of expressions and returns a list of the
results.
|
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) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitvisitEach, visitList, visitListpublic 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 List<RexNode> visitList(List<? extends RexNode> exprs, boolean[] update)
exprs - List of expressionsupdate - If not null, sets this to true if any of the expressions
was modifiedprotected List<RexFieldCollation> visitFieldCollations(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(List<T> exprList)
public final <T extends RexNode> @PolyNull List<T> apply(@PolyNull List<T> exprList)
Returns null if and only if exprList is null.
Copyright © 2012-2022 Apache Software Foundation. All Rights Reserved.