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 | 43512 | jjdelcerro | package org.gvsig.expressionevaluator; |
---|---|---|---|
2 | |||
3 | import java.util.List; |
||
4 | import org.apache.commons.lang3.Range; |
||
5 | |||
6 | public interface Function { |
||
7 | |||
8 | 43521 | jjdelcerro | 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 | 44139 | jjdelcerro | public final String GROUP_PROGRAMMING = "Programming"; |
14 | 44198 | jjdelcerro | public final String GROUP_CONVERSION = "Conversion"; |
15 | 43939 | jjdelcerro | public final String GROUP_OTHER = "Other"; |
16 | 43521 | jjdelcerro | |
17 | 43512 | jjdelcerro | public String group(); |
18 | |||
19 | public String name(); |
||
20 | 43939 | jjdelcerro | |
21 | public String returnType(); |
||
22 | 43512 | jjdelcerro | |
23 | public Range argc();
|
||
24 | |||
25 | public String description(); |
||
26 | |||
27 | 43521 | jjdelcerro | public String template(); |
28 | |||
29 | 43512 | jjdelcerro | public String[] descriptionArgs(); |
30 | |||
31 | 43521 | jjdelcerro | public Object call(Interpreter interpreter, Object[] args) throws Exception; |
32 | 43512 | jjdelcerro | |
33 | 44139 | jjdelcerro | public Object call(Interpreter interpreter, Codes args) throws Exception; |
34 | 43939 | jjdelcerro | |
35 | 43512 | jjdelcerro | public void addAlias(String name); |
36 | |||
37 | 44139 | jjdelcerro | public List<String> aliases(); |
38 | 43521 | jjdelcerro | |
39 | public boolean isOperator(); |
||
40 | 43939 | jjdelcerro | |
41 | public boolean useArgumentsInsteadObjects(); |
||
42 | 43989 | jjdelcerro | |
43 | public boolean isSQLCompatible(); |
||
44 | 44009 | jjdelcerro | |
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 | 43512 | jjdelcerro | } |