svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.expressionevaluator / org.gvsig.expressionevaluator.lib / org.gvsig.expressionevaluator.lib.api / src / main / java / org / gvsig / expressionevaluator / Function.java @ 44198
History | View | Annotate | Download (1.53 KB)
1 |
package org.gvsig.expressionevaluator; |
---|---|
2 |
|
3 |
import java.util.List; |
4 |
import org.apache.commons.lang3.Range; |
5 |
|
6 |
public interface Function { |
7 |
|
8 |
public final String GROUP_NUMERIC = "Numeric"; |
9 |
public final String GROUP_STRING = "String"; |
10 |
public final String GROUP_DATETIME = "Datetime"; |
11 |
public final String GROUP_BOOLEAN = "Boolean"; |
12 |
public final String GROUP_OGC = "OGC"; |
13 |
public final String GROUP_PROGRAMMING = "Programming"; |
14 |
public final String GROUP_CONVERSION = "Conversion"; |
15 |
public final String GROUP_OTHER = "Other"; |
16 |
|
17 |
public String group(); |
18 |
|
19 |
public String name(); |
20 |
|
21 |
public String returnType(); |
22 |
|
23 |
public Range argc();
|
24 |
|
25 |
public String description(); |
26 |
|
27 |
public String template(); |
28 |
|
29 |
public String[] descriptionArgs(); |
30 |
|
31 |
public Object call(Interpreter interpreter, Object[] args) throws Exception; |
32 |
|
33 |
public Object call(Interpreter interpreter, Codes args) throws Exception; |
34 |
|
35 |
public void addAlias(String name); |
36 |
|
37 |
public List<String> aliases(); |
38 |
|
39 |
public boolean isOperator(); |
40 |
|
41 |
public boolean useArgumentsInsteadObjects(); |
42 |
|
43 |
public boolean isSQLCompatible(); |
44 |
|
45 |
/**
|
46 |
* Returns true if the function always returns the same value for
|
47 |
* the same parameters. If so, it is possible to optimize the
|
48 |
* generated code through the process of "constant folding".
|
49 |
*
|
50 |
* https://en.wikipedia.org/wiki/Constant_folding
|
51 |
*
|
52 |
* @return true if this function allow constant folding optimization.
|
53 |
*/
|
54 |
public boolean allowConstantFolding(); |
55 |
} |