public static class DepsFunction.LookupFunction<OUTPUT_TYPE extends QueryTarget,ENV_NODE_TYPE> extends Object implements QueryEnvironment.QueryFunction<OUTPUT_TYPE,ENV_NODE_TYPE>
| Constructor and Description |
|---|
LookupFunction() |
| 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.
|
public String getName()
QueryEnvironment.QueryFunctiongetName in interface QueryEnvironment.QueryFunction<OUTPUT_TYPE extends QueryTarget,ENV_NODE_TYPE>public int getMandatoryArguments()
QueryEnvironment.QueryFunctionThis should be greater than or equal to zero and at smaller than or equal to the length of
the list returned by QueryEnvironment.QueryFunction.getArgumentTypes().
getMandatoryArguments in interface QueryEnvironment.QueryFunction<OUTPUT_TYPE extends QueryTarget,ENV_NODE_TYPE>public com.google.common.collect.ImmutableList<QueryEnvironment.ArgumentType> getArgumentTypes()
QueryEnvironment.QueryFunctiongetArgumentTypes in interface QueryEnvironment.QueryFunction<OUTPUT_TYPE extends QueryTarget,ENV_NODE_TYPE>public 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)
QueryEnvironment.QueryFunctioneval in interface QueryEnvironment.QueryFunction<OUTPUT_TYPE extends QueryTarget,ENV_NODE_TYPE>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
QueryEnvironment.QueryFunction.getArgumentTypes() and QueryEnvironment.QueryFunction.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.