Package io.substrait.relation.physical
Class ImmutableMergeJoin
java.lang.Object
io.substrait.relation.AbstractRel
io.substrait.relation.BiRel
io.substrait.relation.physical.MergeJoin
io.substrait.relation.physical.ImmutableMergeJoin
- All Implemented Interfaces:
HasExtension,Rel
Immutable implementation of
MergeJoin.
Use the builder to create immutable instances:
ImmutableMergeJoin.builder().
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class io.substrait.relation.physical.MergeJoin
MergeJoin.JoinType -
Method Summary
Modifier and TypeMethodDescriptionstatic ImmutableMergeJoin.Builderbuilder()Creates a builder forImmutableMergeJoin.static ImmutableMergeJoinCreates an immutable copy of aMergeJoinvalue.booleanThis instance is equal to all instances ofImmutableMergeJointhat have equal attribute values.getHint()getLeft()getRemap()getRight()inthashCode()Computes a hash code from attributes:extension,remap,commonExtension,hint,left,right,leftKeys,rightKeys,joinType,postJoinFilter.toString()Prints the immutable valueMergeJoinwith attribute values.final ImmutableMergeJoinCopy the current immutable object by setting a present value for the optionalcommonExtensionattribute.final ImmutableMergeJoinwithCommonExtension(Optional<? extends AdvancedExtension> optional) Copy the current immutable object by setting an optional value for thecommonExtensionattribute.final ImmutableMergeJoinwithExtension(AdvancedExtension value) Copy the current immutable object by setting a present value for the optionalextensionattribute.final ImmutableMergeJoinwithExtension(Optional<? extends AdvancedExtension> optional) Copy the current immutable object by setting an optional value for theextensionattribute.final ImmutableMergeJoinCopy the current immutable object by setting a present value for the optionalhintattribute.final ImmutableMergeJoinCopy the current immutable object by setting an optional value for thehintattribute.final ImmutableMergeJoinwithJoinType(MergeJoin.JoinType value) Copy the current immutable object by setting a value for thejoinTypeattribute.final ImmutableMergeJoinCopy the current immutable object by setting a value for theleftattribute.final ImmutableMergeJoinwithLeftKeys(FieldReference... elements) Copy the current immutable object with elements that replace the content ofleftKeys.final ImmutableMergeJoinwithLeftKeys(Iterable<? extends FieldReference> elements) Copy the current immutable object with elements that replace the content ofleftKeys.final ImmutableMergeJoinwithPostJoinFilter(Expression value) Copy the current immutable object by setting a present value for the optionalpostJoinFilterattribute.final ImmutableMergeJoinwithPostJoinFilter(Optional<? extends Expression> optional) Copy the current immutable object by setting an optional value for thepostJoinFilterattribute.final ImmutableMergeJoinCopy the current immutable object by setting a present value for the optionalremapattribute.final ImmutableMergeJoinCopy the current immutable object by setting an optional value for theremapattribute.final ImmutableMergeJoinCopy the current immutable object by setting a value for therightattribute.final ImmutableMergeJoinwithRightKeys(FieldReference... elements) Copy the current immutable object with elements that replace the content ofrightKeys.final ImmutableMergeJoinwithRightKeys(Iterable<? extends FieldReference> elements) Copy the current immutable object with elements that replace the content ofrightKeys.Methods inherited from class io.substrait.relation.physical.MergeJoin
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
-
getLeftKeys
- Specified by:
getLeftKeysin classMergeJoin- Returns:
- The value of the
leftKeysattribute
-
getRightKeys
- Specified by:
getRightKeysin classMergeJoin- Returns:
- The value of the
rightKeysattribute
-
getJoinType
- Specified by:
getJoinTypein classMergeJoin- Returns:
- The value of the
joinTypeattribute
-
getPostJoinFilter
- Specified by:
getPostJoinFilterin classMergeJoin- Returns:
- The value of the
postJoinFilterattribute
-
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
-
withLeftKeys
Copy the current immutable object with elements that replace the content ofleftKeys.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withLeftKeys
Copy the current immutable object with elements that replace the content ofleftKeys. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of leftKeys elements to set- Returns:
- A modified copy or
thisif not changed
-
withRightKeys
Copy the current immutable object with elements that replace the content ofrightKeys.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withRightKeys
Copy the current immutable object with elements that replace the content ofrightKeys. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of rightKeys elements to set- Returns:
- A modified copy or
thisif not changed
-
withJoinType
Copy the current immutable object by setting a value for thejoinTypeattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for joinType- Returns:
- A modified copy or the
thisobject
-
withPostJoinFilter
Copy the current immutable object by setting a present value for the optionalpostJoinFilterattribute.- Parameters:
value- The value for postJoinFilter- Returns:
- A modified copy or
thisif not changed
-
withPostJoinFilter
Copy the current immutable object by setting an optional value for thepostJoinFilterattribute. 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 postJoinFilter- Returns:
- A modified copy or
thisif not changed
-
equals
This instance is equal to all instances ofImmutableMergeJointhat have equal attribute values. -
hashCode
public int hashCode()Computes a hash code from attributes:extension,remap,commonExtension,hint,left,right,leftKeys,rightKeys,joinType,postJoinFilter. -
toString
Prints the immutable valueMergeJoinwith attribute values. -
copyOf
Creates an immutable copy of aMergeJoinvalue. 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 MergeJoin instance
-
builder
Creates a builder forImmutableMergeJoin.ImmutableMergeJoin.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.addLeftKeys|addAllLeftKeys(io.substrait.expression.FieldReference) //leftKeyselements .addRightKeys|addAllRightKeys(io.substrait.expression.FieldReference) //rightKeyselements .joinType(io.substrait.relation.physical.MergeJoin.JoinType) // requiredjoinType.postJoinFilter(Optional<io.substrait.expression.Expression>) // optionalpostJoinFilter.build();- Returns:
- A new ImmutableMergeJoin builder
-