@Internal public final class ArrayComparableElementTypeStrategy extends Object implements InputTypeStrategy
InputTypeStrategy that checks if the input argument is an ARRAY type and check whether
its' elements are comparable.
It requires one argument.
For the rules which types are comparable with which types see areComparable(LogicalType, LogicalType).
| Constructor and Description |
|---|
ArrayComparableElementTypeStrategy(StructuredType.StructuredComparison requiredComparison) |
| 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 ArrayComparableElementTypeStrategy(StructuredType.StructuredComparison requiredComparison)
public ArgumentCount getArgumentCount()
InputTypeStrategygetArgumentCount in interface 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 in interface 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 in interface InputTypeStrategydefinition - the function definition that defines the function currently being called.Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.