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 / spi / formatter / value / BaseFormatter.java @ 44763

History | View | Annotate | Download (1.17 KB)

1
package org.gvsig.expressionevaluator.spi.formatter.value;
2

    
3
import org.gvsig.expressionevaluator.ExpressionBuilder;
4
import org.gvsig.expressionevaluator.ExpressionBuilder.Value;
5
import org.gvsig.expressionevaluator.Formatter;
6

    
7
/**
8
 *
9
 * @author jjdelcerro
10
 */
11
public class BaseFormatter implements Formatter<Value> {
12

    
13
    private final Formatter<ExpressionBuilder.Value>[] formatters;
14

    
15
    public BaseFormatter(Formatter<Value> formatter) {
16

    
17
        this.formatters = new Formatter[]{
18
            new Time(this),
19
            new Date(this),
20
            new Timestamp(this),
21
            new Extract(this),
22
            new Getattr(this),
23
            new Tuple(this)
24
        };
25
    }
26

    
27
    @Override
28
    public boolean canApply(Value value) {
29
        for (Formatter<Value> formatter : formatters) {
30
            if (formatter.canApply(value)) {
31
                return true;
32
            }
33
        }
34
        return false;
35
    }
36

    
37
    @Override
38
    public String format(Value value) {
39
        for (Formatter<Value> formatter : formatters) {
40
            if (formatter.canApply(value)) {
41
                return formatter.format(value);
42
            }
43
        }
44
        return value.toString(this);
45
    }
46
    
47
}