@Internal public final class MapInputTypeStrategy extends Object implements InputTypeStrategy
InputTypeStrategy specific for BuiltInFunctionDefinitions.MAP.
It expects at least two arguments. There must be even number of arguments. All the keys and values must have a common super type respectively.
| 构造器和说明 |
|---|
MapInputTypeStrategy() |
| 限定符和类型 | 方法和说明 |
|---|---|
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 ArgumentCount getArgumentCount()
InputTypeStrategygetArgumentCount 在接口中 InputTypeStrategypublic Optional<List<DataType>> inferInputTypes(CallContext callContext, boolean throwOnFailure)
InputTypeStrategyCallContext.getArgumentDataTypes(), a casting operation can be inserted. An empty result
means that the given input is invalid.inferInputTypes 在接口中 InputTypeStrategycallContext - 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)
InputTypeStrategygetExpectedSignatures 在接口中 InputTypeStrategydefinition - the function definition that defines the function currently being called.Copyright © 2014–2021 The Apache Software Foundation. All rights reserved.