Interface InputTypeStrategy

    • Method Detail

      • getArgumentCount

        ArgumentCount getArgumentCount()
        Initial input validation based on the number of arguments.
      • inferInputTypes

        Optional<List<DataType>> inferInputTypes​(CallContext callContext,
                                                 boolean throwOnFailure)
        Main logic for inferring and validating the input arguments. Returns a list of argument data types that are valid for the given call. If the returned types differ from CallContext.getArgumentDataTypes(), a casting operation can be inserted. An empty result means that the given input is invalid.
        Parameters:
        callContext - provides details about the function call
        throwOnFailure - 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.
        Returns:
        three-state result for either "true, same data types as arguments", "true, but arguments must be casted to returned data types", or "false, no inferred data types could be found"
        See Also:
        CallContext.newValidationError(String, Object...)
      • getExpectedSignatures

        List<Signature> getExpectedSignatures​(FunctionDefinition definition)
        Returns a summary of the function's expected signatures.
        Parameters:
        definition - the function definition that defines the function currently being called.