Package io.substrait.expression
Class ImmutableExpression.WindowFunctionInvocation.Builder
java.lang.Object
io.substrait.expression.ImmutableExpression.WindowFunctionInvocation.Builder
- Enclosing class:
- ImmutableExpression.WindowFunctionInvocation
Builds instances of type
WindowFunctionInvocation.
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 TypeMethodDescriptionaddAllArguments(Iterable<? extends FunctionArg> elements) Adds elements toargumentslist.addAllOptions(Iterable<? extends FunctionOption> elements) Adds elements tooptionslist.addAllPartitionBy(Iterable<? extends Expression> elements) Adds elements topartitionBylist.addAllSort(Iterable<? extends Expression.SortField> elements) Adds elements tosortlist.addArguments(FunctionArg element) Adds one element toargumentslist.addArguments(FunctionArg... elements) Adds elements toargumentslist.addOptions(FunctionOption element) Adds one element tooptionslist.addOptions(FunctionOption... elements) Adds elements tooptionslist.addPartitionBy(Expression element) Adds one element topartitionBylist.addPartitionBy(Expression... elements) Adds elements topartitionBylist.addSort(Expression.SortField element) Adds one element tosortlist.addSort(Expression.SortField... elements) Adds elements tosortlist.aggregationPhase(Expression.AggregationPhase aggregationPhase) Initializes the value for theaggregationPhaseattribute.arguments(Iterable<? extends FunctionArg> elements) Sets or replaces all elements forargumentslist.boundsType(Expression.WindowBoundsType boundsType) Initializes the value for theboundsTypeattribute.build()Builds a newWindowFunctionInvocation.declaration(SimpleExtension.WindowFunctionVariant declaration) Initializes the value for thedeclarationattribute.from(Expression.WindowFunctionInvocation instance) Fill a builder with attribute values from the providedWindowFunctionInvocationinstance.invocation(Expression.AggregationInvocation invocation) Initializes the value for theinvocationattribute.lowerBound(WindowBound lowerBound) Initializes the value for thelowerBoundattribute.options(Iterable<? extends FunctionOption> elements) Sets or replaces all elements foroptionslist.outputType(Type outputType) Initializes the value for theoutputTypeattribute.partitionBy(Iterable<? extends Expression> elements) Sets or replaces all elements forpartitionBylist.sort(Iterable<? extends Expression.SortField> elements) Sets or replaces all elements forsortlist.upperBound(WindowBound upperBound) Initializes the value for theupperBoundattribute.
-
Method Details
-
from
public final ImmutableExpression.WindowFunctionInvocation.Builder from(Expression.WindowFunctionInvocation instance) Fill a builder with attribute values from the providedWindowFunctionInvocationinstance. 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
-
declaration
public final ImmutableExpression.WindowFunctionInvocation.Builder declaration(SimpleExtension.WindowFunctionVariant declaration) Initializes the value for thedeclarationattribute.- Parameters:
declaration- The value for declaration- Returns:
thisbuilder for use in a chained invocation
-
addArguments
Adds one element toargumentslist.- Parameters:
element- A arguments element- Returns:
thisbuilder for use in a chained invocation
-
addArguments
public final ImmutableExpression.WindowFunctionInvocation.Builder addArguments(FunctionArg... elements) Adds elements toargumentslist.- Parameters:
elements- An array of arguments elements- Returns:
thisbuilder for use in a chained invocation
-
arguments
public final ImmutableExpression.WindowFunctionInvocation.Builder arguments(Iterable<? extends FunctionArg> elements) Sets or replaces all elements forargumentslist.- Parameters:
elements- An iterable of arguments elements- Returns:
thisbuilder for use in a chained invocation
-
addAllArguments
public final ImmutableExpression.WindowFunctionInvocation.Builder addAllArguments(Iterable<? extends FunctionArg> elements) Adds elements toargumentslist.- Parameters:
elements- An iterable of arguments elements- Returns:
thisbuilder for use in a chained invocation
-
addOptions
public final ImmutableExpression.WindowFunctionInvocation.Builder addOptions(FunctionOption element) Adds one element tooptionslist.- Parameters:
element- A options element- Returns:
thisbuilder for use in a chained invocation
-
addOptions
public final ImmutableExpression.WindowFunctionInvocation.Builder addOptions(FunctionOption... elements) Adds elements tooptionslist.- Parameters:
elements- An array of options elements- Returns:
thisbuilder for use in a chained invocation
-
options
public final ImmutableExpression.WindowFunctionInvocation.Builder options(Iterable<? extends FunctionOption> elements) Sets or replaces all elements foroptionslist.- Parameters:
elements- An iterable of options elements- Returns:
thisbuilder for use in a chained invocation
-
addAllOptions
public final ImmutableExpression.WindowFunctionInvocation.Builder addAllOptions(Iterable<? extends FunctionOption> elements) Adds elements tooptionslist.- Parameters:
elements- An iterable of options elements- Returns:
thisbuilder for use in a chained invocation
-
aggregationPhase
public final ImmutableExpression.WindowFunctionInvocation.Builder aggregationPhase(Expression.AggregationPhase aggregationPhase) Initializes the value for theaggregationPhaseattribute.- Parameters:
aggregationPhase- The value for aggregationPhase- Returns:
thisbuilder for use in a chained invocation
-
addPartitionBy
public final ImmutableExpression.WindowFunctionInvocation.Builder addPartitionBy(Expression element) Adds one element topartitionBylist.- Parameters:
element- A partitionBy element- Returns:
thisbuilder for use in a chained invocation
-
addPartitionBy
public final ImmutableExpression.WindowFunctionInvocation.Builder addPartitionBy(Expression... elements) Adds elements topartitionBylist.- Parameters:
elements- An array of partitionBy elements- Returns:
thisbuilder for use in a chained invocation
-
partitionBy
public final ImmutableExpression.WindowFunctionInvocation.Builder partitionBy(Iterable<? extends Expression> elements) Sets or replaces all elements forpartitionBylist.- Parameters:
elements- An iterable of partitionBy elements- Returns:
thisbuilder for use in a chained invocation
-
addAllPartitionBy
public final ImmutableExpression.WindowFunctionInvocation.Builder addAllPartitionBy(Iterable<? extends Expression> elements) Adds elements topartitionBylist.- Parameters:
elements- An iterable of partitionBy elements- Returns:
thisbuilder for use in a chained invocation
-
addSort
public final ImmutableExpression.WindowFunctionInvocation.Builder addSort(Expression.SortField element) Adds one element tosortlist.- Parameters:
element- A sort element- Returns:
thisbuilder for use in a chained invocation
-
addSort
public final ImmutableExpression.WindowFunctionInvocation.Builder addSort(Expression.SortField... elements) Adds elements tosortlist.- Parameters:
elements- An array of sort elements- Returns:
thisbuilder for use in a chained invocation
-
sort
public final ImmutableExpression.WindowFunctionInvocation.Builder sort(Iterable<? extends Expression.SortField> elements) Sets or replaces all elements forsortlist.- Parameters:
elements- An iterable of sort elements- Returns:
thisbuilder for use in a chained invocation
-
addAllSort
public final ImmutableExpression.WindowFunctionInvocation.Builder addAllSort(Iterable<? extends Expression.SortField> elements) Adds elements tosortlist.- Parameters:
elements- An iterable of sort elements- Returns:
thisbuilder for use in a chained invocation
-
boundsType
public final ImmutableExpression.WindowFunctionInvocation.Builder boundsType(Expression.WindowBoundsType boundsType) Initializes the value for theboundsTypeattribute.- Parameters:
boundsType- The value for boundsType- Returns:
thisbuilder for use in a chained invocation
-
lowerBound
public final ImmutableExpression.WindowFunctionInvocation.Builder lowerBound(WindowBound lowerBound) Initializes the value for thelowerBoundattribute.- Parameters:
lowerBound- The value for lowerBound- Returns:
thisbuilder for use in a chained invocation
-
upperBound
public final ImmutableExpression.WindowFunctionInvocation.Builder upperBound(WindowBound upperBound) Initializes the value for theupperBoundattribute.- Parameters:
upperBound- The value for upperBound- Returns:
thisbuilder for use in a chained invocation
-
outputType
Initializes the value for theoutputTypeattribute.- Parameters:
outputType- The value for outputType- Returns:
thisbuilder for use in a chained invocation
-
invocation
public final ImmutableExpression.WindowFunctionInvocation.Builder invocation(Expression.AggregationInvocation invocation) Initializes the value for theinvocationattribute.- Parameters:
invocation- The value for invocation- Returns:
thisbuilder for use in a chained invocation
-
build
Builds a newWindowFunctionInvocation.- Returns:
- An immutable instance of WindowFunctionInvocation
- Throws:
IllegalStateException- if any required attributes are missing
-