Package io.substrait.expression
Class ImmutableExpression.StructLiteral
java.lang.Object
io.substrait.expression.Expression.StructLiteral
io.substrait.expression.ImmutableExpression.StructLiteral
- All Implemented Interfaces:
Expression,Expression.Literal,FunctionArg
- Enclosing class:
- ImmutableExpression
Immutable implementation of
Expression.StructLiteral.
Use the builder to create immutable instances:
ImmutableExpression.StructLiteral.builder().
-
Nested Class Summary
Nested ClassesNested 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 -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Creates a builder forStructLiteral.copyOf(Expression.StructLiteral instance) Creates an immutable copy of aExpression.StructLiteralvalue.booleanThis instance is equal to all instances ofStructLiteralthat have equal attribute values.fields()inthashCode()Computes a hash code from attributes:nullable,fields.booleannullable()toString()Prints the immutable valueStructLiteralwith attribute values.withFields(Expression.Literal... elements) Copy the current immutable object with elements that replace the content offields.withFields(Iterable<? extends Expression.Literal> elements) Copy the current immutable object with elements that replace the content offields.withNullable(boolean value) Copy the current immutable object by setting a value for thenullableattribute.Methods inherited from class io.substrait.expression.Expression.StructLiteral
accept, getTypeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface io.substrait.expression.Expression
accept
-
Method Details
-
nullable
public boolean nullable()- Returns:
- The value of the
nullableattribute
-
fields
- Specified by:
fieldsin classExpression.StructLiteral- Returns:
- The value of the
fieldsattribute
-
withNullable
Copy the current immutable object by setting a value for thenullableattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for nullable- Returns:
- A modified copy or the
thisobject
-
withFields
Copy the current immutable object with elements that replace the content offields.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withFields
public final ImmutableExpression.StructLiteral withFields(Iterable<? extends Expression.Literal> elements) Copy the current immutable object with elements that replace the content offields. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of fields elements to set- Returns:
- A modified copy or
thisif not changed
-
equals
This instance is equal to all instances ofStructLiteralthat have equal attribute values. -
hashCode
public int hashCode()Computes a hash code from attributes:nullable,fields. -
toString
Prints the immutable valueStructLiteralwith attribute values. -
copyOf
Creates an immutable copy of aExpression.StructLiteralvalue. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.- Parameters:
instance- The instance to copy- Returns:
- A copied immutable StructLiteral instance
-
builder
Creates a builder forStructLiteral.ImmutableExpression.StructLiteral.builder() .nullable(boolean) // optionalnullable.addFields|addAllFields(io.substrait.expression.Expression.Literal) //fieldselements .build();- Returns:
- A new StructLiteral builder
-