ENV_NODE_TYPE
- determines the type of the QueryEnvironment
in which this
function is expected to operate.OUTPUT_TYPE
- return type of this function.public static interface QueryEnvironment.QueryFunction<OUTPUT_TYPE extends QueryTarget,ENV_NODE_TYPE>
Modifier and Type | Method and Description |
---|---|
Set<OUTPUT_TYPE> |
eval(QueryEvaluator<ENV_NODE_TYPE> evaluator,
QueryEnvironment<ENV_NODE_TYPE> env,
com.google.common.collect.ImmutableList<QueryEnvironment.Argument<ENV_NODE_TYPE>> args)
Called when a user-defined function is to be evaluated.
|
com.google.common.collect.ImmutableList<QueryEnvironment.ArgumentType> |
getArgumentTypes()
The types of the arguments of the function.
|
int |
getMandatoryArguments()
The number of arguments that are required.
|
String |
getName()
Name of the function as it appears in the query language.
|
String getName()
int getMandatoryArguments()
This should be greater than or equal to zero and at smaller than or equal to the length of
the list returned by getArgumentTypes()
.
com.google.common.collect.ImmutableList<QueryEnvironment.ArgumentType> getArgumentTypes()
Set<OUTPUT_TYPE> eval(QueryEvaluator<ENV_NODE_TYPE> evaluator, QueryEnvironment<ENV_NODE_TYPE> env, com.google.common.collect.ImmutableList<QueryEnvironment.Argument<ENV_NODE_TYPE>> args) throws QueryException
evaluator
- the evaluator for evaluating argument expressions.env
- the query environment this function is evaluated in.args
- the input arguments. These are type-checked against the specification returned by
getArgumentTypes()
and getMandatoryArguments()
Set
to
enable actual implementation to avoid making unnecessary copies, but resulting set is not
supposed to be mutated afterwards so implementation is ok to return ImmutableSet
.QueryException