Package io.substrait.extension
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 Summary
Modifier and TypeMethodDescriptionfinal ImmutableAdvancedExtension.Builder<O,E> addAllOptimizations(Iterable<? extends O> elements) Adds elements tooptimizationslist.final ImmutableAdvancedExtension.Builder<O,E> addOptimizations(O element) Adds one element tooptimizationslist.final ImmutableAdvancedExtension.Builder<O,E> addOptimizations(O... elements) Adds elements tooptimizationslist.build()Builds a newImmutableAdvancedExtension.final ImmutableAdvancedExtension.Builder<O,E> enhancement(E enhancement) Initializes the optional valueenhancementto enhancement.final ImmutableAdvancedExtension.Builder<O,E> enhancement(Optional<? extends E> enhancement) Initializes the optional valueenhancementto enhancement.final ImmutableAdvancedExtension.Builder<O,E> from(AdvancedExtension<O, E> instance) Fill a builder with attribute values from the providedAdvancedExtensioninstance.final ImmutableAdvancedExtension.Builder<O,E> optimizations(Iterable<? extends O> elements) Sets or replaces all elements foroptimizationslist.
-
Method Details
-
from
Fill a builder with attribute values from the providedAdvancedExtensioninstance. 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:
thisbuilder for use in a chained invocation
-
addOptimizations
Adds one element tooptimizationslist.- Parameters:
element- A optimizations element- Returns:
thisbuilder for use in a chained invocation
-
addOptimizations
Adds elements tooptimizationslist.- Parameters:
elements- An array of optimizations elements- Returns:
thisbuilder for use in a chained invocation
-
optimizations
Sets or replaces all elements foroptimizationslist.- Parameters:
elements- An iterable of optimizations elements- Returns:
thisbuilder for use in a chained invocation
-
addAllOptimizations
public final ImmutableAdvancedExtension.Builder<O,E> addAllOptimizations(Iterable<? extends O> elements) Adds elements tooptimizationslist.- Parameters:
elements- An iterable of optimizations elements- Returns:
thisbuilder for use in a chained invocation
-
enhancement
Initializes the optional valueenhancementto enhancement.- Parameters:
enhancement- The value for enhancement- Returns:
thisbuilder for chained invocation
-
enhancement
Initializes the optional valueenhancementto enhancement.- Parameters:
enhancement- The value for enhancement- Returns:
thisbuilder for use in a chained invocation
-
build
Builds a newImmutableAdvancedExtension.- Returns:
- An immutable instance of AdvancedExtension
- Throws:
IllegalStateException- if any required attributes are missing
-