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 / Code.java @ 44198
History | View | Annotate | Download (1.69 KB)
1 | 43512 | jjdelcerro | package org.gvsig.expressionevaluator; |
---|---|---|---|
2 | |||
3 | 44198 | jjdelcerro | import org.gvsig.expressionevaluator.ExpressionBuilder.Value; |
4 | 43512 | jjdelcerro | import org.gvsig.tools.visitor.Visitable; |
5 | |||
6 | public interface Code extends Visitable { |
||
7 | |||
8 | public static final int UNDEFINED = -1; |
||
9 | public static final int CONSTANT = 0; |
||
10 | public static final int IDENTIFIER = 1; |
||
11 | public static final int CALLER = 2; |
||
12 | 43939 | jjdelcerro | public static final int METHOD = 3; |
13 | 44198 | jjdelcerro | public static final int CODES = 4; |
14 | 43939 | jjdelcerro | |
15 | 43512 | jjdelcerro | public interface Constant extends Code { |
16 | |||
17 | public Object value(); |
||
18 | |||
19 | } |
||
20 | |||
21 | public interface Identifier extends Code { |
||
22 | |||
23 | public String name(); |
||
24 | |||
25 | } |
||
26 | |||
27 | public interface Caller extends Code { |
||
28 | |||
29 | public static final int FUNCTION = 0; |
||
30 | public static final int BINARY_OPERATOR = 1; |
||
31 | public static final int UNARY_OPERATOR = 2; |
||
32 | 43521 | jjdelcerro | |
33 | 44198 | jjdelcerro | |
34 | 43512 | jjdelcerro | public String name(); |
35 | |||
36 | 43521 | jjdelcerro | public Object call(Interpreter interpreter, Object[] args) throws Exception; |
37 | |||
38 | 43512 | jjdelcerro | public Function function();
|
39 | |||
40 | public Function function(Function function);
|
||
41 | |||
42 | 44198 | jjdelcerro | public Codes parameters();
|
43 | 43512 | jjdelcerro | |
44 | public int type(); |
||
45 | 43521 | jjdelcerro | |
46 | 43512 | jjdelcerro | } |
47 | 43939 | jjdelcerro | |
48 | public interface Method extends Caller { |
||
49 | public Code obj();
|
||
50 | |||
51 | public String methodname(); |
||
52 | } |
||
53 | 43512 | jjdelcerro | |
54 | 44198 | jjdelcerro | public static final Formatter<Code> EMPTY_FORMATTER = new Formatter<Code>() { |
55 | @Override
|
||
56 | public boolean canApply(Code value) { |
||
57 | return false; |
||
58 | } |
||
59 | |||
60 | @Override
|
||
61 | public String format(Code value) { |
||
62 | return ""; |
||
63 | } |
||
64 | }; |
||
65 | |||
66 | public int code(); |
||
67 | |||
68 | public Value toValue();
|
||
69 | |||
70 | public Value toValue(ExpressionBuilder builder);
|
||
71 | |||
72 | public String toString(Formatter<Code> formatter); |
||
73 | |||
74 | public void link(SymbolTable symbolTable); |
||
75 | |||
76 | 43512 | jjdelcerro | } |