Statistics
| Revision:

gvsig-projects-pool / org.gvsig.topology / trunk / org.gvsig.topology / org.gvsig.topology.lib / org.gvsig.topology.lib.impl / src / main / java / org / gvsig / topology / lib / impl / TopologyReportLineSymbolTable.java @ 2067

History | View | Annotate | Download (1.53 KB)

1 688 jjdelcerro
package org.gvsig.topology.lib.impl;
2
3
import java.util.ArrayList;
4
import java.util.List;
5
import org.gvsig.expressionevaluator.spi.AbstractSymbolTable;
6
import org.gvsig.topology.lib.api.TopologyReport;
7
import org.gvsig.topology.lib.api.TopologyReportLine;
8
9
/**
10
 *
11
 * @author jjdelcerro
12
 */
13
class TopologyReportLineSymbolTable extends AbstractSymbolTable {
14
15
    private TopologyReportLine line = null;
16
    private final List<String> fieldNames;
17
18
    public TopologyReportLineSymbolTable() {
19
        this.fieldNames = new ArrayList<>();
20
        this.fieldNames.add(TopologyReport.RULE_ID);
21
        this.fieldNames.add(TopologyReport.IS_ERROR);
22
        this.fieldNames.add(TopologyReport.IS_EXCEPTION);
23
        this.fieldNames.add(TopologyReport.GEOMETRY);
24
    }
25
26
    public void setLine(TopologyReportLine line) {
27
        this.line = line;
28
    }
29
30
    @Override
31
    public boolean exists(String name) {
32
        if (name == null) {
33
            return false;
34
        }
35
        return this.fieldNames.contains(name.toUpperCase());
36
    }
37
38
    @Override
39
    public Object value(String name) {
40
        switch (name.toUpperCase()) {
41
            case TopologyReport.RULE_ID:
42
                return this.line.getRule().getId();
43
            case TopologyReport.IS_ERROR:
44
                return !this.line.isException();
45
            case TopologyReport.IS_EXCEPTION:
46
                return this.line.isException();
47
            case TopologyReport.GEOMETRY:
48
                return this.line.getGeometry();
49
            default:
50
                return null;
51
        }
52
    }
53
54
}