Class ImmutableAdvancedExtension.Builder<O extends AdvancedExtension.Optimization,E extends AdvancedExtension.Enhancement>

java.lang.Object
io.substrait.extension.ImmutableAdvancedExtension.Builder<O,E>
Enclosing class:
ImmutableAdvancedExtension<O extends AdvancedExtension.Optimization,E extends AdvancedExtension.Enhancement>

public static final class ImmutableAdvancedExtension.Builder<O extends AdvancedExtension.Optimization,E extends AdvancedExtension.Enhancement> extends Object
Builds instances of type ImmutableAdvancedExtension. 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 ImmutableAdvancedExtension.Builder<O,E> from(AdvancedExtension<O,E> instance)
      Fill a builder with attribute values from the provided AdvancedExtension instance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values. Collection elements and entries will be added, not replaced.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • addOptimizations

      public final ImmutableAdvancedExtension.Builder<O,E> addOptimizations(O element)
      Adds one element to optimizations list.
      Parameters:
      element - A optimizations element
      Returns:
      this builder for use in a chained invocation
    • addOptimizations

      @SafeVarargs public final ImmutableAdvancedExtension.Builder<O,E> addOptimizations(O... elements)
      Adds elements to optimizations list.
      Parameters:
      elements - An array of optimizations elements
      Returns:
      this builder for use in a chained invocation
    • optimizations

      public final ImmutableAdvancedExtension.Builder<O,E> optimizations(Iterable<? extends O> elements)
      Sets or replaces all elements for optimizations list.
      Parameters:
      elements - An iterable of optimizations elements
      Returns:
      this builder for use in a chained invocation
    • addAllOptimizations

      public final ImmutableAdvancedExtension.Builder<O,E> addAllOptimizations(Iterable<? extends O> elements)
      Adds elements to optimizations list.
      Parameters:
      elements - An iterable of optimizations elements
      Returns:
      this builder for use in a chained invocation
    • enhancement

      public final ImmutableAdvancedExtension.Builder<O,E> enhancement(E enhancement)
      Initializes the optional value enhancement to enhancement.
      Parameters:
      enhancement - The value for enhancement
      Returns:
      this builder for chained invocation
    • enhancement

      public final ImmutableAdvancedExtension.Builder<O,E> enhancement(Optional<? extends E> enhancement)
      Initializes the optional value enhancement to enhancement.
      Parameters:
      enhancement - The value for enhancement
      Returns:
      this builder for use in a chained invocation
    • build

      public ImmutableAdvancedExtension<O,E> build()
      Returns:
      An immutable instance of AdvancedExtension
      Throws:
      IllegalStateException - if any required attributes are missing