Package io.substrait.extension
Class AdvancedExtension<O extends AdvancedExtension.Optimization,E extends AdvancedExtension.Enhancement>
java.lang.Object
io.substrait.extension.AdvancedExtension<O,E>
- Type Parameters:
O- type of optimizationE- type of enhancement
- Direct Known Subclasses:
ImmutableAdvancedExtension
@Immutable
public abstract class AdvancedExtension<O extends AdvancedExtension.Optimization,E extends AdvancedExtension.Enhancement>
extends Object
Represents advanced extensions that can include optimizations and enhancements.
Optimizations provide optional hints that do not affect semantics, while enhancements introduce semantic changes and must be honored by consumers.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceRepresents an enhancement associated with anAdvancedExtension.static interfaceRepresents an optimization associated with anAdvancedExtension. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <O extends AdvancedExtension.Optimization,E extends AdvancedExtension.Enhancement>
ImmutableAdvancedExtension.Builder<O,E> builder()Creates a builder forAdvancedExtension.Returns the optional enhancement associated with this extension.Returns the list of optimizations associated with this extension.
-
Constructor Details
-
AdvancedExtension
public AdvancedExtension()
-
-
Method Details
-
getOptimizations
Returns the list of optimizations associated with this extension.- Returns:
- list of optimizations
-
getEnhancement
Returns the optional enhancement associated with this extension.- Returns:
- optional enhancement
-
builder
public static <O extends AdvancedExtension.Optimization,E extends AdvancedExtension.Enhancement> ImmutableAdvancedExtension.Builder<O,E> builder()Creates a builder forAdvancedExtension.- Type Parameters:
O- type of optimizationE- type of enhancement- Returns:
- builder instance
-