Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.geometry / org.gvsig.fmap.geometry.api / src / main / java / org / gvsig / fmap / geom / type / AbstractGeometryType.java @ 40435

History | View | Annotate | Download (1.64 KB)

1
package org.gvsig.fmap.geom.type;
2

    
3
import java.util.ArrayList;
4
import java.util.List;
5

    
6
import org.gvsig.fmap.geom.operation.GeometryOperation;
7

    
8
public abstract class AbstractGeometryType implements GeometryType {
9

    
10
    /**
11
     * Registered operations for a concrete geometry type
12
     */
13
    private List geometryOperations = new ArrayList();
14
    
15
    public boolean isTypeOf(GeometryType geometryType) {
16
        return isTypeOf(geometryType.getType());
17
    }
18

    
19
    public boolean isSubTypeOf(GeometryType geometryType) {
20
        return isSubTypeOf(geometryType.getSubType());
21
    }
22

    
23
    public void setGeometryOperation(int index, GeometryOperation geomOp) {
24
        while (index > geometryOperations.size()) {
25
            geometryOperations.add(null);
26
        }
27

    
28
        if (index == geometryOperations.size()) {
29
            geometryOperations.add(geomOp);
30
        } else {
31
            geometryOperations.set(index, geomOp);
32
        }
33
    }
34

    
35
    public GeometryOperation getGeometryOperation(int index) {
36
        return (GeometryOperation) geometryOperations.get(index);
37
    }
38

    
39
    public boolean equals(Object obj) {
40
        if (obj instanceof GeometryType) {
41
            GeometryType other = (GeometryType) obj;
42
            return getType() == other.getType()
43
                && getSubType() == other.getSubType();
44
        }
45
        return false;
46
    }
47

    
48
    protected List getGeometryOperations() {
49
        return geometryOperations;
50
    }
51

    
52
    public String toString() {
53
        StringBuffer sb =
54
            new StringBuffer("[").append(getName()).append(",[")
55
                .append(getGeometryOperations().toString()).append("]");
56

    
57
        return sb.toString();
58
    }
59

    
60
}