Class ImmutableMergeJoin.Builder

java.lang.Object
io.substrait.relation.physical.ImmutableMergeJoin.Builder
Enclosing class:
ImmutableMergeJoin

public static final class ImmutableMergeJoin.Builder extends Object
Builds instances of type ImmutableMergeJoin. Initialize attributes and then invoke the build() method to create an immutable instance.

Builder is not thread-safe and generally should not be stored in a field or collection, but instead used immediately to create instances.

  • Method Details

    • from

      public final ImmutableMergeJoin.Builder from(HasExtension instance)
      Fill a builder with attribute values from the provided io.substrait.relation.HasExtension instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • from

      public final ImmutableMergeJoin.Builder from(Rel instance)
      Fill a builder with attribute values from the provided io.substrait.relation.Rel instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • from

      public final ImmutableMergeJoin.Builder from(AbstractRel instance)
      Fill a builder with attribute values from the provided io.substrait.relation.AbstractRel instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • from

      public final ImmutableMergeJoin.Builder from(MergeJoin instance)
      Fill a builder with attribute values from the provided io.substrait.relation.physical.MergeJoin instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • from

      public final ImmutableMergeJoin.Builder from(BiRel instance)
      Fill a builder with attribute values from the provided io.substrait.relation.BiRel instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • extension

      public final ImmutableMergeJoin.Builder extension(AdvancedExtension extension)
      Initializes the optional value extension to extension.
      Parameters:
      extension - The value for extension
      Returns:
      this builder for chained invocation
    • extension

      public final ImmutableMergeJoin.Builder extension(Optional<? extends AdvancedExtension> extension)
      Initializes the optional value extension to extension.
      Parameters:
      extension - The value for extension
      Returns:
      this builder for use in a chained invocation
    • remap

      public final ImmutableMergeJoin.Builder remap(Rel.Remap remap)
      Initializes the optional value remap to remap.
      Parameters:
      remap - The value for remap
      Returns:
      this builder for chained invocation
    • remap

      public final ImmutableMergeJoin.Builder remap(Optional<? extends Rel.Remap> remap)
      Initializes the optional value remap to remap.
      Parameters:
      remap - The value for remap
      Returns:
      this builder for use in a chained invocation
    • commonExtension

      public final ImmutableMergeJoin.Builder commonExtension(AdvancedExtension commonExtension)
      Initializes the optional value commonExtension to commonExtension.
      Parameters:
      commonExtension - The value for commonExtension
      Returns:
      this builder for chained invocation
    • commonExtension

      public final ImmutableMergeJoin.Builder commonExtension(Optional<? extends AdvancedExtension> commonExtension)
      Initializes the optional value commonExtension to commonExtension.
      Parameters:
      commonExtension - The value for commonExtension
      Returns:
      this builder for use in a chained invocation
    • hint

      public final ImmutableMergeJoin.Builder hint(Hint hint)
      Initializes the optional value hint to hint.
      Parameters:
      hint - The value for hint
      Returns:
      this builder for chained invocation
    • hint

      public final ImmutableMergeJoin.Builder hint(Optional<? extends Hint> hint)
      Initializes the optional value hint to hint.
      Parameters:
      hint - The value for hint
      Returns:
      this builder for use in a chained invocation
    • left

      public final ImmutableMergeJoin.Builder left(Rel left)
      Initializes the value for the left attribute.
      Parameters:
      left - The value for left
      Returns:
      this builder for use in a chained invocation
    • right

      public final ImmutableMergeJoin.Builder right(Rel right)
      Initializes the value for the right attribute.
      Parameters:
      right - The value for right
      Returns:
      this builder for use in a chained invocation
    • addLeftKeys

      public final ImmutableMergeJoin.Builder addLeftKeys(FieldReference element)
      Adds one element to leftKeys list.
      Parameters:
      element - A leftKeys element
      Returns:
      this builder for use in a chained invocation
    • addLeftKeys

      public final ImmutableMergeJoin.Builder addLeftKeys(FieldReference... elements)
      Adds elements to leftKeys list.
      Parameters:
      elements - An array of leftKeys elements
      Returns:
      this builder for use in a chained invocation
    • leftKeys

      public final ImmutableMergeJoin.Builder leftKeys(Iterable<? extends FieldReference> elements)
      Sets or replaces all elements for leftKeys list.
      Parameters:
      elements - An iterable of leftKeys elements
      Returns:
      this builder for use in a chained invocation
    • addAllLeftKeys

      public final ImmutableMergeJoin.Builder addAllLeftKeys(Iterable<? extends FieldReference> elements)
      Adds elements to leftKeys list.
      Parameters:
      elements - An iterable of leftKeys elements
      Returns:
      this builder for use in a chained invocation
    • addRightKeys

      public final ImmutableMergeJoin.Builder addRightKeys(FieldReference element)
      Adds one element to rightKeys list.
      Parameters:
      element - A rightKeys element
      Returns:
      this builder for use in a chained invocation
    • addRightKeys

      public final ImmutableMergeJoin.Builder addRightKeys(FieldReference... elements)
      Adds elements to rightKeys list.
      Parameters:
      elements - An array of rightKeys elements
      Returns:
      this builder for use in a chained invocation
    • rightKeys

      public final ImmutableMergeJoin.Builder rightKeys(Iterable<? extends FieldReference> elements)
      Sets or replaces all elements for rightKeys list.
      Parameters:
      elements - An iterable of rightKeys elements
      Returns:
      this builder for use in a chained invocation
    • addAllRightKeys

      public final ImmutableMergeJoin.Builder addAllRightKeys(Iterable<? extends FieldReference> elements)
      Adds elements to rightKeys list.
      Parameters:
      elements - An iterable of rightKeys elements
      Returns:
      this builder for use in a chained invocation
    • joinType

      public final ImmutableMergeJoin.Builder joinType(MergeJoin.JoinType joinType)
      Initializes the value for the joinType attribute.
      Parameters:
      joinType - The value for joinType
      Returns:
      this builder for use in a chained invocation
    • postJoinFilter

      public final ImmutableMergeJoin.Builder postJoinFilter(Expression postJoinFilter)
      Initializes the optional value postJoinFilter to postJoinFilter.
      Parameters:
      postJoinFilter - The value for postJoinFilter
      Returns:
      this builder for chained invocation
    • postJoinFilter

      public final ImmutableMergeJoin.Builder postJoinFilter(Optional<? extends Expression> postJoinFilter)
      Initializes the optional value postJoinFilter to postJoinFilter.
      Parameters:
      postJoinFilter - The value for postJoinFilter
      Returns:
      this builder for use in a chained invocation
    • build

      public ImmutableMergeJoin build()
      Builds a new ImmutableMergeJoin.
      Returns:
      An immutable instance of MergeJoin
      Throws:
      IllegalStateException - if any required attributes are missing