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 / ExpressionUtils.java @ 44198

History | View | Annotate | Download (4.52 KB)

1
package org.gvsig.expressionevaluator;
2

    
3
import org.gvsig.expressionevaluator.ExpressionBuilder.Value;
4
import org.gvsig.tools.script.Script;
5

    
6
/**
7
 *
8
 * @author jjdelcerro
9
 */
10
public class ExpressionUtils {
11

    
12
    public static boolean isEmpty(Expression expression) {
13
        return expression == null || expression.isEmpty();
14
    }
15

    
16
    public static boolean isPhraseEmpty(Expression expression) {
17
        return expression == null || expression.isPhraseEmpty();
18
    }
19
    
20
    public static Expression defaultIfEmpty(Expression expression, Expression defaultValue) {
21
        if( expression==null || expression.isEmpty() ) {
22
            return defaultValue;
23
        }
24
        return expression;
25
    }
26
    
27
    public static Expression defaultNullIfEmpty(Expression expression) {
28
        if( expression==null || expression.isEmpty() ) {
29
            return null;
30
        }
31
        return expression;
32
    }
33
    
34
    public static Expression defaultIfPhraseEmpty(Expression expression, Expression defaultValue) {
35
        if( expression==null || expression.isPhraseEmpty() ) {
36
            return defaultValue;
37
        }
38
        return expression;
39
    }
40

    
41
    public static Expression defaultNullIfPhraseEmpty(Expression expression) {
42
        if( expression==null || expression.isPhraseEmpty() ) {
43
            return null;
44
        }
45
        return expression;
46
    }
47
   
48
    public static Expression createExpression() {
49
        Expression expression = ExpressionEvaluatorLocator.getManager().createExpression();
50
        return expression;
51
    }
52

    
53
    public static Expression createExpression(String phrase) {
54
        Expression expression = ExpressionEvaluatorLocator.getManager().createExpression();
55
        expression.setPhrase(phrase);
56
        return expression;
57
    }
58

    
59
    public static Expression createExpression(String phrase, String code, Script... scripts) {
60
        Expression expression = ExpressionEvaluatorLocator.getManager().createExpression();
61
        expression.setPhrase(phrase);
62
        expression.setUserScript(code);
63
        for (Script script : scripts) {
64
            expression.addScript(script);
65
        }
66
        return expression;
67
    }
68

    
69
    public static Expression createExpression(String phrase, String code, String languaje, Script... scripts) {
70
        Expression expression = ExpressionEvaluatorLocator.getManager().createExpression();
71
        expression.setPhrase(phrase);
72
        expression.setUserScript(code, languaje);
73
        for (Script script : scripts) {
74
            expression.addScript(script);
75
        }
76
        return expression;
77
    }
78

    
79
    public static ExpressionBuilder createExpressionBuilder() {
80
        ExpressionBuilder builder = ExpressionEvaluatorLocator.getManager().createExpressionBuilder();
81
        return builder;
82
    }
83

    
84
    public static Code compile(String expression) {
85
        ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();
86
        Code code = manager.compile(expression);
87
        return code;
88
    }
89

    
90
    public static Object evaluate(SymbolTable symbolTable, String expression) {
91
        ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();
92
        Object x = manager.evaluate(symbolTable, expression);
93
        return x;
94
    }
95

    
96
    public static Object evaluate(SymbolTable symbolTable, Code code) {
97
        ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();
98
        Object x = manager.evaluate(symbolTable, code);
99
        return x;
100
    }
101

    
102
    public static Code optimize(SymbolTable symbolTable, Code code) {
103
        ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getManager();
104
        code = manager.optimize(symbolTable, code);
105
        return code;
106
    }
107

    
108
    public static String toString(Value value, Formatter formatter) {
109
        if( value == null ) {
110
            return null;
111
        }
112
        if( formatter==null ) {
113
            formatter = ExpressionBuilder.EMPTY_FORMATTER;
114
        }
115
        return value.toString(formatter);
116
    }
117

    
118
    public static String toString(Value value) {
119
        if( value == null ) {
120
            return null;
121
        }
122
        return value.toString(ExpressionBuilder.EMPTY_FORMATTER);
123
    }
124

    
125
    public static String toString(Code code, Formatter formatter) {
126
        if( code == null ) {
127
            return null;
128
        }
129
        if( formatter==null ) {
130
            formatter = Code.EMPTY_FORMATTER;
131
        }
132
        return code.toString(formatter);
133
    }
134

    
135
    public static String toString(Code code) {
136
        if( code == null ) {
137
            return null;
138
        }
139
        return code.toString(Code.EMPTY_FORMATTER);
140
    }
141

    
142
}