@Internal public final class CommonInputTypeStrategy extends Object implements InputTypeStrategy
InputTypeStrategy
that expects that all arguments have a common type.Constructor and Description |
---|
CommonInputTypeStrategy(ArgumentCount argumentCount) |
Modifier and Type | Method and Description |
---|---|
ArgumentCount |
getArgumentCount()
Initial input validation based on the number of arguments.
|
List<Signature> |
getExpectedSignatures(FunctionDefinition definition)
Returns a summary of the function's expected signatures.
|
Optional<List<DataType>> |
inferInputTypes(CallContext callContext,
boolean throwOnFailure)
Main logic for inferring and validating the input arguments.
|
public CommonInputTypeStrategy(ArgumentCount argumentCount)
public ArgumentCount getArgumentCount()
InputTypeStrategy
getArgumentCount
in interface InputTypeStrategy
public Optional<List<DataType>> inferInputTypes(CallContext callContext, boolean throwOnFailure)
InputTypeStrategy
CallContext.getArgumentDataTypes()
, a casting operation can be inserted. An empty result
means that the given input is invalid.inferInputTypes
in interface InputTypeStrategy
callContext
- provides details about the function callthrowOnFailure
- whether this function is allowed to throw an ValidationException
with a meaningful exception in case the inference is not successful
or if this function should simply return an empty result.CallContext.newValidationError(String, Object...)
public List<Signature> getExpectedSignatures(FunctionDefinition definition)
InputTypeStrategy
getExpectedSignatures
in interface InputTypeStrategy
definition
- the function definition that defines the function currently being called.Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.