Statistics
| Revision:

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 / CodeBuilder.java @ 47248

History | View | Annotate | Download (1.96 KB)

1
package org.gvsig.expressionevaluator;
2

    
3
import java.util.Map;
4
import org.gvsig.expressionevaluator.Code.Constant;
5
import org.gvsig.expressionevaluator.Code.Identifier;
6

    
7
import org.gvsig.tools.lang.Cloneable;
8
import org.gvsig.expressionevaluator.Code.Callable;
9

    
10
public interface CodeBuilder extends Cloneable {
11

    
12
    @Override
13
    public CodeBuilder clone() throws CloneNotSupportedException;    
14
    
15
    Constant constant(Object value);
16

    
17
    Identifier identifier(String name);
18

    
19
    Callable block(Code...codes);
20
    
21
    Callable function(String name, int type, Codes args);
22

    
23
    Callable function(String name, Codes args);
24

    
25
    Callable operator(String name, Code arg1);
26

    
27
    Callable operator(String name, Code arg1, Code arg2);
28

    
29
    MutableCodes args();
30
    
31
    Callable tuple();
32

    
33
    Callable tuple(Codes args);
34
    
35
    Callable tuple(Code... items);
36

    
37
    Code add(Code op1, Code op2);
38

    
39
    Code subst(Code op1, Code op2);
40

    
41
    Code concat(Code op1, Code op2);
42

    
43
    Code mult(Code op1, Code op2);
44

    
45
    Code div(Code op1, Code op2);
46

    
47
    Code mod(Code op1, Code op2);
48

    
49
    Code or(Code op1, Code op2);
50

    
51
    Code and(Code op1, Code op2);
52

    
53
    Code like(Code op1, Code op2);
54

    
55
    Code ilike(Code op1, Code op2);
56

    
57
    Code regexp(Code op1, Code op2);
58

    
59
    Code lt(Code op1, Code op2);
60

    
61
    Code gt(Code op1, Code op2);
62

    
63
    Code le(Code op1, Code op2);
64

    
65
    Code ge(Code op1, Code op2);
66

    
67
    Code eq(Code op1, Code op2);
68

    
69
    Code ne(Code op1, Code op2);
70

    
71
    Code is(Code op1, Code op2);
72

    
73
    Code not(Code op1);
74

    
75
    Code negate(Code op1);
76

    
77
    Code getattr(Code obj, String attrname);
78

    
79
    Code getitem(Code obj, Code index);
80
    
81
    Code dict(Map<String,Code>map);
82

    
83
    Code method(Code obj, String methodname, Codes args);
84
    
85
    Code let(String identifier, Code value);
86
    
87
    Code $HostExpression(Code value);
88
    
89
    Code $HostExpression(Code value, String mode_specier);
90
    
91
    Code in(Code value1, Code value2);
92
    
93
    Code between(Code value1, Code value2, Code value3);
94
    
95
}