public class LabelsFunction extends Object implements QueryEnvironment.QueryFunction<QueryTarget,QueryBuildTarget>
expr ::= LABELS '(' WORD ',' expr ')'
Constructor and Description |
---|
LabelsFunction() |
Modifier and Type | Method and Description |
---|---|
Set<QueryTarget> |
eval(QueryEvaluator<QueryBuildTarget> evaluator,
QueryEnvironment<QueryBuildTarget> env,
com.google.common.collect.ImmutableList<QueryEnvironment.Argument<QueryBuildTarget>> 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.QueryFunction
getName
in interface QueryEnvironment.QueryFunction<QueryTarget,QueryBuildTarget>
public int getMandatoryArguments()
QueryEnvironment.QueryFunction
This 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<QueryTarget,QueryBuildTarget>
public com.google.common.collect.ImmutableList<QueryEnvironment.ArgumentType> getArgumentTypes()
QueryEnvironment.QueryFunction
getArgumentTypes
in interface QueryEnvironment.QueryFunction<QueryTarget,QueryBuildTarget>
public Set<QueryTarget> eval(QueryEvaluator<QueryBuildTarget> evaluator, QueryEnvironment<QueryBuildTarget> env, com.google.common.collect.ImmutableList<QueryEnvironment.Argument<QueryBuildTarget>> args) throws QueryException
QueryEnvironment.QueryFunction
eval
in interface QueryEnvironment.QueryFunction<QueryTarget,QueryBuildTarget>
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
.QueryException