Class AbstractFunctionInvocation<T extends SimpleExtension.Function,I>

java.lang.Object
io.substrait.expression.AbstractFunctionInvocation<T,I>
Type Parameters:
T - the function type (from SimpleExtension)
I - the invocation-specific type

public abstract class AbstractFunctionInvocation<T extends SimpleExtension.Function,I> extends Object
Represents a generic function invocation, including its declaration, arguments, aggregation phase, sort fields, output type, and invocation details.
  • Constructor Details

    • AbstractFunctionInvocation

      public AbstractFunctionInvocation()
  • Method Details

    • declaration

      public abstract T declaration()
      Returns the function declaration associated with this invocation.
      Returns:
      the function declaration
    • arguments

      public abstract List<FunctionArg> arguments()
      Returns the ordered list of function arguments.
      Returns:
      list of function arguments
    • aggregationPhase

      public abstract Expression.AggregationPhase aggregationPhase()
      Returns the aggregation phase for this invocation, if applicable.
      Returns:
      aggregation phase or null if not an aggregate
    • sort

      public abstract List<Expression.SortField> sort()
      Returns the sort fields applied to this invocation, if any.
      Returns:
      list of sort fields
    • outputType

      public abstract Type outputType()
      Returns the output type produced by this invocation.
      Returns:
      the output type
    • getType

      public Type getType()
      Returns the type of this invocation (same as outputType()).
      Returns:
      the output type
    • invocation

      public abstract I invocation()
      Returns the invocation-specific details.
      Returns:
      invocation details