Contact: |
||
|---|---|---|
Tracker: |
||
Tagline: |
|
|
The gt-opengis interfaces provide the concept of *FunctionName*. We currently make FunctionName available through the FunctionFactory interface; this offers a the name of the function, the number of arguments, and the names of each argument that can be presented to the user.
Our default implementation, DefaultFunctionFinder, using FactorySPI reflection against Function implementation is is only able to fake this information.
I would like to make this information available by adding:
See tasks for a description of the current patch.
The optional part of this proposal has been carved off as a separate undertaking: FilterFactory cleanup
This proposal needs some discussion; but it already has a patch on the attached JIRA.
Voting has not started yet:
|
no progress |
|
done |
|
impeded |
|
lack mandate/funds/time |
|
volunteer needed |
|---|
BEFORE
public interface Function extends Expression {
String getName();
List<Expression> getParameters();
Literal getFallbackValue();
}
interface FilterFactory {
....
/** function name */
FunctionName functionName(String name, int nargs);
...
}
class FunctionFinder {
..
}
|
AFTER
public interface Function extends Expression {
String getName();
FunctionName getFunctionName();
List<Expression> getParameters();
Literal getFallbackValue();
}
interface FilterFactory {
....
/** function name */
FunctionName functionName(String name, int nargs);
FunctionName functionName(String name, int nargs, List<String> argNames);
...
}
class FunctionFinder {
List<FunctionName> getAllFunctionDescriptions()
FunctionName findFunctionDescription(String)
..
}
|