org.eigenbase.rex
Class RexCopier
java.lang.Object
org.eigenbase.rex.RexShuttle
org.eigenbase.rex.RexCopier
- All Implemented Interfaces:
- RexVisitor<RexNode>
class RexCopier
- extends RexShuttle
Shuttle which creates a deep copy of a Rex expression.
This is useful when copying objects from one type factory or builder to
another.
Due to the laziness of the author, not all Rex types are supported at
present.
- Version:
- $Id: //open/dev/farrago/src/org/eigenbase/rex/RexCopier.java#4 $
- Author:
- jhyde
- See Also:
RexBuilder.copy(RexNode)
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
builder
private final RexBuilder builder
RexCopier
RexCopier(RexBuilder builder)
- Creates a RexCopier.
- Parameters:
builder - Builder
visitOver
public RexNode visitOver(RexOver over)
- Specified by:
visitOver in interface RexVisitor<RexNode>- Overrides:
visitOver in class RexShuttle
visitWindow
public RexWindow visitWindow(RexWindow window)
- Overrides:
visitWindow in class RexShuttle
visitCall
public RexNode visitCall(RexCall call)
- Specified by:
visitCall in interface RexVisitor<RexNode>- Overrides:
visitCall in class RexShuttle
visitCorrelVariable
public RexNode visitCorrelVariable(RexCorrelVariable variable)
- Specified by:
visitCorrelVariable in interface RexVisitor<RexNode>- Overrides:
visitCorrelVariable in class RexShuttle
visitFieldAccess
public RexNode visitFieldAccess(RexFieldAccess fieldAccess)
- Specified by:
visitFieldAccess in interface RexVisitor<RexNode>- Overrides:
visitFieldAccess in class RexShuttle
visitInputRef
public RexNode visitInputRef(RexInputRef inputRef)
- Specified by:
visitInputRef in interface RexVisitor<RexNode>- Overrides:
visitInputRef in class RexShuttle
visitLocalRef
public RexNode visitLocalRef(RexLocalRef localRef)
- Specified by:
visitLocalRef in interface RexVisitor<RexNode>- Overrides:
visitLocalRef in class RexShuttle
visitLiteral
public RexNode visitLiteral(RexLiteral literal)
- Specified by:
visitLiteral in interface RexVisitor<RexNode>- Overrides:
visitLiteral in class RexShuttle
visitDynamicParam
public RexNode visitDynamicParam(RexDynamicParam dynamicParam)
- Specified by:
visitDynamicParam in interface RexVisitor<RexNode>- Overrides:
visitDynamicParam in class RexShuttle
visitRangeRef
public RexNode visitRangeRef(RexRangeRef rangeRef)
- Specified by:
visitRangeRef in interface RexVisitor<RexNode>- Overrides:
visitRangeRef in class RexShuttle