Package io.substrait.relation
Class ImmutableProject
java.lang.Object
io.substrait.relation.AbstractRel
io.substrait.relation.SingleInputRel
io.substrait.relation.Project
io.substrait.relation.ImmutableProject
- All Implemented Interfaces:
HasExtension,Rel
Immutable implementation of
Project.
Use the builder to create immutable instances:
ImmutableProject.builder().
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic ImmutableProject.Builderbuilder()Creates a builder forImmutableProject.static ImmutableProjectCreates an immutable copy of aProjectvalue.booleanThis instance is equal to all instances ofImmutableProjectthat have equal attribute values.getHint()getInput()getRemap()inthashCode()Computes a hash code from attributes:extension,remap,commonExtension,hint,input,expressions.toString()Prints the immutable valueProjectwith attribute values.final ImmutableProjectCopy the current immutable object by setting a present value for the optionalcommonExtensionattribute.final ImmutableProjectwithCommonExtension(Optional<? extends AdvancedExtension> optional) Copy the current immutable object by setting an optional value for thecommonExtensionattribute.final ImmutableProjectwithExpressions(Expression... elements) Copy the current immutable object with elements that replace the content ofexpressions.final ImmutableProjectwithExpressions(Iterable<? extends Expression> elements) Copy the current immutable object with elements that replace the content ofexpressions.final ImmutableProjectwithExtension(AdvancedExtension value) Copy the current immutable object by setting a present value for the optionalextensionattribute.final ImmutableProjectwithExtension(Optional<? extends AdvancedExtension> optional) Copy the current immutable object by setting an optional value for theextensionattribute.final ImmutableProjectCopy the current immutable object by setting a present value for the optionalhintattribute.final ImmutableProjectCopy the current immutable object by setting an optional value for thehintattribute.final ImmutableProjectCopy the current immutable object by setting a value for theinputattribute.final ImmutableProjectCopy the current immutable object by setting a present value for the optionalremapattribute.final ImmutableProjectCopy the current immutable object by setting an optional value for theremapattribute.Methods inherited from class io.substrait.relation.Project
accept, deriveRecordTypeMethods inherited from class io.substrait.relation.SingleInputRel
getInputsMethods inherited from class io.substrait.relation.AbstractRel
getRecordType
-
Method Details
-
getExtension
- Returns:
- the
AdvancedExtensionassociated directly with the class
-
getRemap
- Returns:
- The value of the
remapattribute
-
getCommonExtension
- Returns:
- the
AdvancedExtensionassociated with aRelCommonmessage, if present
-
getHint
- Returns:
- The value of the
hintattribute
-
getInput
- Specified by:
getInputin classSingleInputRel- Returns:
- The value of the
inputattribute
-
getExpressions
- Specified by:
getExpressionsin classProject- Returns:
- The value of the
expressionsattribute
-
withExtension
Copy the current immutable object by setting a present value for the optionalextensionattribute.- Parameters:
value- The value for extension- Returns:
- A modified copy or
thisif not changed
-
withExtension
Copy the current immutable object by setting an optional value for theextensionattribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis.- Parameters:
optional- An optional value for extension- Returns:
- A modified copy or
thisif not changed
-
withRemap
Copy the current immutable object by setting a present value for the optionalremapattribute.- Parameters:
value- The value for remap- Returns:
- A modified copy or
thisif not changed
-
withRemap
Copy the current immutable object by setting an optional value for theremapattribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis.- Parameters:
optional- An optional value for remap- Returns:
- A modified copy or
thisif not changed
-
withCommonExtension
Copy the current immutable object by setting a present value for the optionalcommonExtensionattribute.- Parameters:
value- The value for commonExtension- Returns:
- A modified copy or
thisif not changed
-
withCommonExtension
Copy the current immutable object by setting an optional value for thecommonExtensionattribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis.- Parameters:
optional- An optional value for commonExtension- Returns:
- A modified copy or
thisif not changed
-
withHint
Copy the current immutable object by setting a present value for the optionalhintattribute.- Parameters:
value- The value for hint- Returns:
- A modified copy or
thisif not changed
-
withHint
Copy the current immutable object by setting an optional value for thehintattribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis.- Parameters:
optional- An optional value for hint- Returns:
- A modified copy or
thisif not changed
-
withInput
Copy the current immutable object by setting a value for theinputattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for input- Returns:
- A modified copy or the
thisobject
-
withExpressions
Copy the current immutable object with elements that replace the content ofexpressions.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withExpressions
Copy the current immutable object with elements that replace the content ofexpressions. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of expressions elements to set- Returns:
- A modified copy or
thisif not changed
-
equals
This instance is equal to all instances ofImmutableProjectthat have equal attribute values. -
hashCode
public int hashCode()Computes a hash code from attributes:extension,remap,commonExtension,hint,input,expressions. -
toString
Prints the immutable valueProjectwith attribute values. -
copyOf
Creates an immutable copy of aProjectvalue. 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 Project instance
-
builder
Creates a builder forImmutableProject.ImmutableProject.builder() .extension(Optional<io.substrait.extension.AdvancedExtension>) // optionalextension.remap(Optional<io.substrait.relation.Rel.Remap>) // optionalremap.commonExtension(Optional<io.substrait.extension.AdvancedExtension>) // optionalcommonExtension.hint(Optional<io.substrait.hint.Hint>) // optionalhint.input(io.substrait.relation.Rel) // requiredinput.addExpressions|addAllExpressions(io.substrait.expression.Expression) //expressionselements .build();- Returns:
- A new ImmutableProject builder
-