Class Function.ArraysFunction

java.lang.Object
org.apache.druid.math.expr.Function.ArraysFunction
All Implemented Interfaces:
Function, NamedFunction
Direct Known Subclasses:
Function.ArraysMergeFunction
Enclosing interface:
Function

public abstract static class Function.ArraysFunction extends Object implements Function
Function that takes 2 array operands
  • Constructor Details

    • ArraysFunction

      public ArraysFunction()
  • Method Details

    • validateArguments

      public void validateArguments(List<Expr> args)
      Description copied from interface: Function
      Validate function arguments. This method is called whenever a FunctionExpr is created, and should validate everything that is feasible up front. Note that input type information is typically unavailable at the time Expr are parsed, and so this method is incapable of performing complete validation.
      Specified by:
      validateArguments in interface Function
    • getScalarInputs

      public Set<Expr> getScalarInputs(List<Expr> args)
      Description copied from interface: Function
      Given a list of arguments to this Function, get the set of arguments that must evaluate to a scalar value
      Specified by:
      getScalarInputs in interface Function
    • getArrayInputs

      public Set<Expr> getArrayInputs(List<Expr> args)
      Description copied from interface: Function
      Given a list of arguments to this Function, get the set of arguments that must evaluate to an array value
      Specified by:
      getArrayInputs in interface Function
    • hasArrayInputs

      public boolean hasArrayInputs()
      Description copied from interface: Function
      Returns true if a function expects any array arguments
      Specified by:
      hasArrayInputs in interface Function
    • apply

      public ExprEval apply(List<Expr> args, Expr.ObjectBinding bindings)
      Description copied from interface: Function
      Evaluate the function, given a list of arguments and a set of bindings to provide values for IdentifierExpr.
      Specified by:
      apply in interface Function