Class FunctionDefinition.Builder<T extends Function>
java.lang.Object
org.elasticsearch.xpack.esql.expression.function.FunctionDefinition.Builder<T>
- Enclosing class:
FunctionDefinition
A builder for
FunctionDefinitions. Get one from FunctionDefinition.def(java.lang.Class<T>).-
Method Summary
Modifier and TypeMethodDescriptionbinary(FunctionDefinition.BinaryBuilder<T> ctorRef) Build a FunctionDefinition for a binary function.Build a FunctionDefinition for a binary function that needsConfiguration.capabilities(String... capabilities) Adds capabilities to mark changes or fixes to the function.Build theFunctionDefinitionwith the given primary name and optional aliases.nAry(FunctionDefinition.NaryBuilder<T> ctorRef) Build a FunctionDefinition for a function with any number of arguments.Build a FunctionDefinition for a no-argument function.Build a FunctionDefinition for a no-argument function that needsConfiguration.quaternary(FunctionDefinition.QuaternaryBuilder<T> ctorRef) Build a FunctionDefinition for a quaternary function.Build a FunctionDefinition for a quaternary function that needsConfiguration.quinary(FunctionDefinition.QuinaryBuilder<T> ctorRef, int numOptionalParams) Build a FunctionDefinition for a quinary function.ternary(FunctionDefinition.TernaryBuilder<T> ctorRef) Build a FunctionDefinition for a ternary function.Build a FunctionDefinition for a ternary function that needsConfiguration.unary(BiFunction<Source, Expression, T> ctorRef) Build a FunctionDefinition for a unary function.Build a FunctionDefinition for a unary function that needsConfiguration.Build a FunctionDefinition for a function with one required argument followed by zero or more variadic arguments.
-
Method Details
-
capabilities
Adds capabilities to mark changes or fixes to the function. Use it like:public static final FunctionDefinition DEFINITION = FunctionDefinition.def(IpPrefix.class) .ternary(IpPrefix::new) // Fix a bug leading to the scratch leaking data to other rows. .capabilities("fix_dirty_scratch_leak") .name("ip_prefix"); -
name
Build theFunctionDefinitionwith the given primary name and optional aliases. -
noArgs
Build a FunctionDefinition for a no-argument function. -
noArgs
public FunctionDefinition.Builder<T> noArgs(FunctionDefinition.ConfigurationAwareBuilder<T> ctorRef) Build a FunctionDefinition for a no-argument function that needsConfiguration. -
unary
Build a FunctionDefinition for a unary function. -
unaryConfig
public FunctionDefinition.Builder<T> unaryConfig(FunctionDefinition.UnaryConfigurationAwareBuilder<T> ctorRef) Build a FunctionDefinition for a unary function that needsConfiguration. -
unaryVariadic
public FunctionDefinition.Builder<T> unaryVariadic(FunctionDefinition.UnaryVariadicBuilder<T> ctorRef) Build a FunctionDefinition for a function with one required argument followed by zero or more variadic arguments. -
binary
Build a FunctionDefinition for a binary function. -
binaryConfig
public FunctionDefinition.Builder<T> binaryConfig(FunctionDefinition.BinaryConfigurationAwareBuilder<T> ctorRef) Build a FunctionDefinition for a binary function that needsConfiguration. -
ternary
Build a FunctionDefinition for a ternary function. -
ternaryConfig
public FunctionDefinition.Builder<T> ternaryConfig(FunctionDefinition.TernaryConfigurationAwareBuilder<T> ctorRef) Build a FunctionDefinition for a ternary function that needsConfiguration. -
quaternary
Build a FunctionDefinition for a quaternary function. -
quaternaryConfig
public FunctionDefinition.Builder<T> quaternaryConfig(FunctionDefinition.QuaternaryConfigurationAwareBuilder<T> ctorRef) Build a FunctionDefinition for a quaternary function that needsConfiguration. -
quinary
public FunctionDefinition.Builder<T> quinary(FunctionDefinition.QuinaryBuilder<T> ctorRef, int numOptionalParams) Build a FunctionDefinition for a quinary function. -
nAry
Build a FunctionDefinition for a function with any number of arguments.
-