Revision 45425 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
AbstractGeometryType.java | ||
---|---|---|
34 | 34 |
/** |
35 | 35 |
* Registered operations for a concrete geometry type |
36 | 36 |
*/ |
37 |
private List geometryOperations = new ArrayList(); |
|
38 |
|
|
37 |
private final List<GeometryOperation> GEOMETRY_OPERATIONS = new ArrayList(); |
|
38 |
|
|
39 |
@Override |
|
39 | 40 |
public boolean isTypeOf(GeometryType geometryType) { |
40 | 41 |
return isTypeOf(geometryType.getType()); |
41 | 42 |
} |
42 | 43 |
|
44 |
@Override |
|
43 | 45 |
public boolean isSubTypeOf(GeometryType geometryType) { |
44 | 46 |
return isSubTypeOf(geometryType.getSubType()); |
45 | 47 |
} |
46 | 48 |
|
49 |
@Override |
|
47 | 50 |
public void setGeometryOperation(int index, GeometryOperation geomOp) { |
48 |
while (index > geometryOperations.size()) {
|
|
49 |
geometryOperations.add(null);
|
|
51 |
while (index > GEOMETRY_OPERATIONS.size()) {
|
|
52 |
GEOMETRY_OPERATIONS.add(null);
|
|
50 | 53 |
} |
51 | 54 |
|
52 |
if (index == geometryOperations.size()) {
|
|
53 |
geometryOperations.add(geomOp);
|
|
55 |
if (index == GEOMETRY_OPERATIONS.size()) {
|
|
56 |
GEOMETRY_OPERATIONS.add(geomOp);
|
|
54 | 57 |
} else { |
55 |
geometryOperations.set(index, geomOp);
|
|
58 |
GEOMETRY_OPERATIONS.set(index, geomOp);
|
|
56 | 59 |
} |
57 | 60 |
} |
58 | 61 |
|
62 |
@Override |
|
59 | 63 |
public GeometryOperation getGeometryOperation(int index) { |
60 |
return (GeometryOperation) geometryOperations.get(index);
|
|
64 |
return (GeometryOperation) GEOMETRY_OPERATIONS.get(index);
|
|
61 | 65 |
} |
62 | 66 |
|
67 |
@Override |
|
63 | 68 |
public boolean equals(Object obj) { |
64 | 69 |
if (obj instanceof GeometryType) { |
65 | 70 |
GeometryType other = (GeometryType) obj; |
66 | 71 |
return getType() == other.getType() |
67 |
&& getSubType() == other.getSubType(); |
|
72 |
&& getSubType() == other.getSubType();
|
|
68 | 73 |
} |
69 | 74 |
return false; |
70 | 75 |
} |
71 | 76 |
|
72 | 77 |
protected List getGeometryOperations() { |
73 |
return geometryOperations;
|
|
78 |
return GEOMETRY_OPERATIONS;
|
|
74 | 79 |
} |
75 | 80 |
|
81 |
@Override |
|
76 | 82 |
public String toString() { |
77 |
StringBuffer sb = |
|
78 |
new StringBuffer("[").append(getName()).append(",[") |
|
79 |
.append(getGeometryOperations().toString()).append("]"); |
|
83 |
StringBuilder sb = new StringBuilder("[") |
|
84 |
.append(getName()) |
|
85 |
.append(",[") |
|
86 |
.append(getGeometryOperations().toString()) |
|
87 |
.append("]"); |
|
80 | 88 |
|
81 | 89 |
return sb.toString(); |
82 | 90 |
} |
83 |
|
|
84 |
public boolean hasZ() { |
|
85 |
int subtype = this.getSubType(); |
|
86 |
return subtype == Geometry.SUBTYPES.GEOM3D || subtype == Geometry.SUBTYPES.GEOM3DM; |
|
87 |
} |
|
88 | 91 |
|
89 |
public boolean hasM() { |
|
90 |
int subtype = this.getSubType(); |
|
91 |
return subtype == Geometry.SUBTYPES.GEOM2DM || subtype == Geometry.SUBTYPES.GEOM3DM; |
|
92 |
} |
|
92 |
@Override |
|
93 |
public boolean hasZ() { |
|
94 |
int subtype = this.getSubType(); |
|
95 |
return subtype == Geometry.SUBTYPES.GEOM3D || subtype == Geometry.SUBTYPES.GEOM3DM; |
|
96 |
} |
|
93 | 97 |
|
98 |
@Override |
|
99 |
public boolean hasM() { |
|
100 |
int subtype = this.getSubType(); |
|
101 |
return subtype == Geometry.SUBTYPES.GEOM2DM || subtype == Geometry.SUBTYPES.GEOM3DM; |
|
102 |
} |
|
103 |
|
|
94 | 104 |
} |
Also available in: Unified diff