Package io.substrait.relation
Class ImmutableExtensionMulti
java.lang.Object
io.substrait.relation.AbstractRel
io.substrait.relation.ExtensionMulti
io.substrait.relation.ImmutableExtensionMulti
- All Implemented Interfaces:
Rel
Immutable implementation of
ExtensionMulti.
Use the builder to create immutable instances:
ImmutableExtensionMulti.builder().
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds instances of typeImmutableExtensionMulti. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Creates a builder forImmutableExtensionMulti.static ImmutableExtensionMulticopyOf(ExtensionMulti instance) Creates an immutable copy of aExtensionMultivalue.protected Type.StructbooleanThis instance is equal to all instances ofImmutableExtensionMultithat have equal attribute values.getHint()getRemap()inthashCode()Computes a hash code from attributes:remap,commonExtension,inputs,hint,deriveRecordType,detail.toString()Prints the immutable valueExtensionMultiwith attribute values.final ImmutableExtensionMultiCopy the current immutable object by setting a present value for the optionalcommonExtensionattribute.final ImmutableExtensionMultiwithCommonExtension(Optional<? extends AdvancedExtension> optional) Copy the current immutable object by setting an optional value for thecommonExtensionattribute.final ImmutableExtensionMultiwithDeriveRecordType(Type.Struct value) Copy the current immutable object by setting a value for thederiveRecordTypeattribute.final ImmutableExtensionMultiCopy the current immutable object by setting a value for thedetailattribute.final ImmutableExtensionMultiCopy the current immutable object by setting a present value for the optionalhintattribute.final ImmutableExtensionMultiCopy the current immutable object by setting an optional value for thehintattribute.final ImmutableExtensionMultiwithInputs(Rel... elements) Copy the current immutable object with elements that replace the content ofinputs.final ImmutableExtensionMultiwithInputs(Iterable<? extends Rel> elements) Copy the current immutable object with elements that replace the content ofinputs.final ImmutableExtensionMultiCopy the current immutable object by setting a present value for the optionalremapattribute.final ImmutableExtensionMultiCopy the current immutable object by setting an optional value for theremapattribute.Methods inherited from class io.substrait.relation.ExtensionMulti
accept, from, fromMethods inherited from class io.substrait.relation.AbstractRel
getRecordType
-
Method Details
-
getRemap
- Returns:
- The value of the
remapattribute
-
getCommonExtension
- Returns:
- the
AdvancedExtensionassociated with aRelCommonmessage, if present
-
getInputs
- Returns:
- The value of the
inputsattribute
-
getHint
- Returns:
- The value of the
hintattribute
-
deriveRecordType
- Specified by:
deriveRecordTypein classAbstractRel- Returns:
- The value of the
deriveRecordTypeattribute
-
getDetail
- Specified by:
getDetailin classExtensionMulti- Returns:
- The value of the
detailattribute
-
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
public final ImmutableExtensionMulti withCommonExtension(Optional<? extends AdvancedExtension> optional) 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
-
withInputs
Copy the current immutable object with elements that replace the content ofinputs.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withInputs
Copy the current immutable object with elements that replace the content ofinputs. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of inputs elements to set- 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
-
withDeriveRecordType
Copy the current immutable object by setting a value for thederiveRecordTypeattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for deriveRecordType- Returns:
- A modified copy or the
thisobject
-
withDetail
Copy the current immutable object by setting a value for thedetailattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for detail- Returns:
- A modified copy or the
thisobject
-
equals
This instance is equal to all instances ofImmutableExtensionMultithat have equal attribute values. -
hashCode
public int hashCode()Computes a hash code from attributes:remap,commonExtension,inputs,hint,deriveRecordType,detail. -
toString
Prints the immutable valueExtensionMultiwith attribute values. -
copyOf
Creates an immutable copy of aExtensionMultivalue. 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 ExtensionMulti instance
-
builder
Creates a builder forImmutableExtensionMulti.ImmutableExtensionMulti.builder() .remap(Optional<io.substrait.relation.Rel.Remap>) // optionalremap.commonExtension(Optional<io.substrait.extension.AdvancedExtension>) // optionalcommonExtension.addInputs|addAllInputs(io.substrait.relation.Rel) //inputselements .hint(Optional<io.substrait.hint.Hint>) // optionalhint.deriveRecordType(io.substrait.type.Type.Struct) // requiredderiveRecordType.detail(io.substrait.relation.Extension.MultiRelDetail) // requireddetail.build();- Returns:
- A new ImmutableExtensionMulti builder
-