Package io.substrait.relation
Class ImmutableCross
java.lang.Object
io.substrait.relation.AbstractRel
io.substrait.relation.BiRel
io.substrait.relation.Cross
io.substrait.relation.ImmutableCross
- All Implemented Interfaces:
HasExtension,Rel
Immutable implementation of
Cross.
Use the builder to create immutable instances:
ImmutableCross.builder().
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic ImmutableCross.Builderbuilder()Creates a builder forImmutableCross.static ImmutableCrossCreates an immutable copy of aCrossvalue.booleanThis instance is equal to all instances ofImmutableCrossthat have equal attribute values.getHint()getLeft()getRemap()getRight()inthashCode()Computes a hash code from attributes:extension,remap,commonExtension,hint,left,right.toString()Prints the immutable valueCrosswith attribute values.final ImmutableCrossCopy the current immutable object by setting a present value for the optionalcommonExtensionattribute.final ImmutableCrosswithCommonExtension(Optional<? extends AdvancedExtension> optional) Copy the current immutable object by setting an optional value for thecommonExtensionattribute.final ImmutableCrosswithExtension(AdvancedExtension value) Copy the current immutable object by setting a present value for the optionalextensionattribute.final ImmutableCrosswithExtension(Optional<? extends AdvancedExtension> optional) Copy the current immutable object by setting an optional value for theextensionattribute.final ImmutableCrossCopy the current immutable object by setting a present value for the optionalhintattribute.final ImmutableCrossCopy the current immutable object by setting an optional value for thehintattribute.final ImmutableCrossCopy the current immutable object by setting a value for theleftattribute.final ImmutableCrossCopy the current immutable object by setting a present value for the optionalremapattribute.final ImmutableCrossCopy the current immutable object by setting an optional value for theremapattribute.final ImmutableCrossCopy the current immutable object by setting a value for therightattribute.Methods inherited from class io.substrait.relation.Cross
accept, deriveRecordTypeMethods 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
-
getLeft
-
getRight
-
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
-
withLeft
Copy the current immutable object by setting a value for theleftattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for left- Returns:
- A modified copy or the
thisobject
-
withRight
Copy the current immutable object by setting a value for therightattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for right- Returns:
- A modified copy or the
thisobject
-
equals
This instance is equal to all instances ofImmutableCrossthat have equal attribute values. -
hashCode
public int hashCode()Computes a hash code from attributes:extension,remap,commonExtension,hint,left,right. -
toString
Prints the immutable valueCrosswith attribute values. -
copyOf
Creates an immutable copy of aCrossvalue. 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 Cross instance
-
builder
Creates a builder forImmutableCross.ImmutableCross.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.left(io.substrait.relation.Rel) // requiredleft.right(io.substrait.relation.Rel) // requiredright.build();- Returns:
- A new ImmutableCross builder
-