Package io.substrait.type
Class ImmutableType.Decimal
java.lang.Object
io.substrait.type.Type.Decimal
io.substrait.type.ImmutableType.Decimal
- All Implemented Interfaces:
FunctionArg,NullableType,ParameterizedType,TypeExpression,Type
- Enclosing class:
- ImmutableType
Immutable implementation of
Type.Decimal.
Use the builder to create immutable instances:
ImmutableType.Decimal.builder().
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface io.substrait.expression.FunctionArg
FunctionArg.FuncArgVisitor<R,C extends VisitationContext, E extends Throwable>, FunctionArg.ProtoFrom Nested classes/interfaces inherited from interface io.substrait.function.ParameterizedType
ParameterizedType.BaseParameterizedType, ParameterizedType.NullableParameterizedType, ParameterizedType.RequiredParameterizedVisitorException, ParameterizedType.StringLiteralNested classes/interfaces inherited from interface io.substrait.type.Type
Type.Binary, Type.Bool, Type.Date, Type.Decimal, Type.FixedBinary, Type.FixedChar, Type.FP32, Type.FP64, Type.Func, Type.I16, Type.I32, Type.I64, Type.I8, Type.IntervalCompound, Type.IntervalDay, Type.IntervalYear, Type.ListType, Type.Map, Type.Parameter, Type.ParameterBooleanValue, Type.ParameterDataType, Type.ParameterEnumValue, Type.ParameterIntegerValue, Type.ParameterNull, Type.ParameterStringValue, Type.PrecisionTime, Type.PrecisionTimestamp, Type.PrecisionTimestampTZ, Type.Str, Type.Struct, Type.Time, Type.Timestamp, Type.TimestampTZ, Type.UserDefined, Type.UUID, Type.VarCharNested classes/interfaces inherited from interface io.substrait.function.TypeExpression
TypeExpression.BaseTypeExpression, TypeExpression.BinaryOperation, TypeExpression.IfOperation, TypeExpression.IntegerLiteral, TypeExpression.NotOperation, TypeExpression.RequiredTypeExpressionVisitorException, TypeExpression.ReturnProgram -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Creates a builder forDecimal.static ImmutableType.DecimalcopyOf(Type.Decimal instance) Creates an immutable copy of aType.Decimalvalue.booleanThis instance is equal to all instances ofDecimalthat have equal attribute values.inthashCode()Computes a hash code from attributes:nullable,scale,precision.booleannullable()intintscale()toString()Prints the immutable valueDecimalwith attribute values.final ImmutableType.DecimalwithNullable(boolean value) Copy the current immutable object by setting a value for thenullableattribute.final ImmutableType.DecimalwithPrecision(int value) Copy the current immutable object by setting a value for theprecisionattribute.final ImmutableType.DecimalwithScale(int value) Copy the current immutable object by setting a value for thescaleattribute.Methods inherited from class io.substrait.type.Type.Decimal
acceptMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface io.substrait.function.ParameterizedType
isWildcardMethods inherited from interface io.substrait.type.Type
accept, equalsIgnoringNullability
-
Method Details
-
nullable
public boolean nullable()- Returns:
- The value of the
nullableattribute
-
scale
public int scale()- Specified by:
scalein classType.Decimal- Returns:
- The value of the
scaleattribute
-
precision
public int precision()- Specified by:
precisionin classType.Decimal- Returns:
- The value of the
precisionattribute
-
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
-
withScale
Copy the current immutable object by setting a value for thescaleattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for scale- Returns:
- A modified copy or the
thisobject
-
withPrecision
Copy the current immutable object by setting a value for theprecisionattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for precision- Returns:
- A modified copy or the
thisobject
-
equals
This instance is equal to all instances ofDecimalthat have equal attribute values. -
hashCode
public int hashCode()Computes a hash code from attributes:nullable,scale,precision. -
toString
Prints the immutable valueDecimalwith attribute values. -
copyOf
Creates an immutable copy of aType.Decimalvalue. 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 Decimal instance
-
builder
Creates a builder forDecimal.ImmutableType.Decimal.builder() .nullable(boolean) // requirednullable.scale(int) // requiredscale.precision(int) // requiredprecision.build();- Returns:
- A new Decimal builder
-