Package io.substrait.expression
Class FieldReference
java.lang.Object
io.substrait.expression.FieldReference
- All Implemented Interfaces:
Expression,FunctionArg
- Direct Known Subclasses:
ImmutableFieldReference
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic interfacestatic classNested classes/interfaces inherited from interface io.substrait.expression.Expression
Expression.AggregationInvocation, Expression.AggregationPhase, Expression.BinaryLiteral, Expression.BoolLiteral, Expression.Cast, Expression.DateLiteral, Expression.DecimalLiteral, Expression.EmptyListLiteral, Expression.EmptyMapLiteral, Expression.FailureBehavior, Expression.FixedBinaryLiteral, Expression.FixedCharLiteral, Expression.FP32Literal, Expression.FP64Literal, Expression.I16Literal, Expression.I32Literal, Expression.I64Literal, Expression.I8Literal, Expression.IfClause, Expression.IfThen, Expression.InPredicate, Expression.IntervalCompoundLiteral, Expression.IntervalDayLiteral, Expression.IntervalYearLiteral, Expression.Lambda, Expression.ListLiteral, Expression.Literal, Expression.MapLiteral, Expression.MultiOrList, Expression.MultiOrListRecord, Expression.Nested, Expression.NestedList, Expression.NestedStruct, Expression.NullLiteral, Expression.PrecisionTimeLiteral, Expression.PrecisionTimestampLiteral, Expression.PrecisionTimestampTZLiteral, Expression.PredicateOp, Expression.ScalarFunctionInvocation, Expression.ScalarSubquery, Expression.SetPredicate, Expression.SingleOrList, Expression.SortDirection, Expression.SortField, Expression.StrLiteral, Expression.StructLiteral, Expression.Subquery, Expression.Switch, Expression.SwitchClause, Expression.TimeLiteral, Expression.TimestampLiteral, Expression.TimestampTZLiteral, Expression.UserDefinedAnyLiteral, Expression.UserDefinedLiteral, Expression.UserDefinedStructLiteral, Expression.UUIDLiteral, Expression.VarCharLiteral, Expression.WindowBoundsType, Expression.WindowFunctionInvocationNested classes/interfaces inherited from interface io.substrait.expression.FunctionArg
FunctionArg.FuncArgVisitor<R,C extends VisitationContext, E extends Throwable>, FunctionArg.ProtoFrom -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<R,C extends VisitationContext, E extends Throwable>
Raccept(ExpressionVisitor<R, C, E> visitor, C context) builder()protected voidcheck()dereferenceList(int index) dereferenceMap(Expression.Literal mapKey) dereferenceStruct(int index) getType()abstract Optional<Expression>booleanReturns true if this field reference refers to a lambda parameter.booleanbooleanstatic FieldReferencenewInputRelReference(int index, Rel rel) static FieldReferencenewInputRelReference(int index, List<Rel> rels) static FieldReferencenewListReference(int index, Expression expression) static FieldReferencenewMapReference(Expression.Literal mapKey, Expression expression) static FieldReferencenewRootStructOuterReference(int index, Type knownType, int stepsOut) static FieldReferencenewRootStructReference(int index, Type knownType) static FieldReferencenewStructReference(int index, Expression expression) static FieldReferenceofExpression(Expression expression, List<FieldReference.ReferenceSegment> segments) static FieldReferenceofRoot(Type.Struct struct, List<FieldReference.ReferenceSegment> segments) abstract List<FieldReference.ReferenceSegment>segments()abstract Typetype()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.substrait.expression.Expression
accept
-
Constructor Details
-
FieldReference
public FieldReference()
-
-
Method Details
-
segments
-
type
-
inputExpression
-
outerReferenceStepsOut
-
lambdaParameterReferenceStepsOut
-
getType
- Specified by:
getTypein interfaceExpression
-
builder
-
accept
public <R,C extends VisitationContext, R acceptE extends Throwable> (ExpressionVisitor<R, C, throws EE> visitor, C context) - Specified by:
acceptin interfaceExpression- Throws:
E extends Throwable
-
check
@Check protected void check() -
isSimpleRootReference
public boolean isSimpleRootReference() -
isOuterReference
public boolean isOuterReference() -
isLambdaParameterReference
public boolean isLambdaParameterReference()Returns true if this field reference refers to a lambda parameter. -
dereferenceStruct
-
dereferenceList
-
dereferenceMap
-
newMapReference
-
newListReference
-
newStructReference
-
newRootStructReference
-
newRootStructOuterReference
-
newInputRelReference
-
newInputRelReference
-
ofExpression
public static FieldReference ofExpression(Expression expression, List<FieldReference.ReferenceSegment> segments) -
ofRoot
public static FieldReference ofRoot(Type.Struct struct, List<FieldReference.ReferenceSegment> segments)
-