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 |
} |