Package io.substrait.relation.physical
Class ImmutableHashJoin
java.lang.Object
io.substrait.relation.AbstractRel
io.substrait.relation.BiRel
io.substrait.relation.physical.HashJoin
io.substrait.relation.physical.ImmutableHashJoin
- All Implemented Interfaces:
HasExtension,Rel
Immutable implementation of
HashJoin.
Use the builder to create immutable instances:
ImmutableHashJoin.builder().
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class io.substrait.relation.physical.HashJoin
HashJoin.JoinType -
Method Summary
Modifier and TypeMethodDescriptionstatic ImmutableHashJoin.Builderbuilder()Creates a builder forImmutableHashJoin.static ImmutableHashJoinCreates an immutable copy of aHashJoinvalue.booleanThis instance is equal to all instances ofImmutableHashJointhat 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 valueHashJoinwith attribute values.final ImmutableHashJoinCopy the current immutable object by setting a present value for the optionalcommonExtensionattribute.final ImmutableHashJoinwithCommonExtension(Optional<? extends AdvancedExtension> optional) Copy the current immutable object by setting an optional value for thecommonExtensionattribute.final ImmutableHashJoinwithExtension(AdvancedExtension value) Copy the current immutable object by setting a present value for the optionalextensionattribute.final ImmutableHashJoinwithExtension(Optional<? extends AdvancedExtension> optional) Copy the current immutable object by setting an optional value for theextensionattribute.final ImmutableHashJoinCopy the current immutable object by setting a present value for the optionalhintattribute.final ImmutableHashJoinCopy the current immutable object by setting an optional value for thehintattribute.final ImmutableHashJoinwithJoinType(HashJoin.JoinType value) Copy the current immutable object by setting a value for thejoinTypeattribute.final ImmutableHashJoinCopy the current immutable object by setting a value for theleftattribute.final ImmutableHashJoinwithLeftKeys(FieldReference... elements) Copy the current immutable object with elements that replace the content ofleftKeys.final ImmutableHashJoinwithLeftKeys(Iterable<? extends FieldReference> elements) Copy the current immutable object with elements that replace the content ofleftKeys.final ImmutableHashJoinwithPostJoinFilter(Expression value) Copy the current immutable object by setting a present value for the optionalpostJoinFilterattribute.final ImmutableHashJoinwithPostJoinFilter(Optional<? extends Expression> optional) Copy the current immutable object by setting an optional value for thepostJoinFilterattribute.final ImmutableHashJoinCopy the current immutable object by setting a present value for the optionalremapattribute.final ImmutableHashJoinCopy the current immutable object by setting an optional value for theremapattribute.final ImmutableHashJoinCopy the current immutable object by setting a value for therightattribute.final ImmutableHashJoinwithRightKeys(FieldReference... elements) Copy the current immutable object with elements that replace the content ofrightKeys.final ImmutableHashJoinwithRightKeys(Iterable<? extends FieldReference> elements) Copy the current immutable object with elements that replace the content ofrightKeys.Methods inherited from class io.substrait.relation.physical.HashJoin
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 classHashJoin- Returns:
- The value of the
leftKeysattribute
-
getRightKeys
- Specified by:
getRightKeysin classHashJoin- Returns:
- The value of the
rightKeysattribute
-
getJoinType
- Specified by:
getJoinTypein classHashJoin- Returns:
- The value of the
joinTypeattribute
-
getPostJoinFilter
- Specified by:
getPostJoinFilterin classHashJoin- 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 ofImmutableHashJointhat 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 valueHashJoinwith attribute values. -
copyOf
Creates an immutable copy of aHashJoinvalue. 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 HashJoin instance
-
builder
Creates a builder forImmutableHashJoin.ImmutableHashJoin.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.HashJoin.JoinType) // requiredjoinType.postJoinFilter(Optional<io.substrait.expression.Expression>) // optionalpostJoinFilter.build();- Returns:
- A new ImmutableHashJoin builder
-