@Override
public void encode(Object object, ContentHandler output) throws Exception {
if ( object instanceof GeometryCollection ) {
if ( object instanceof MultiPoint ) {
new GML2(MultiPoint.class,GML.MultiPoint).encode(object, output);
} else if ( object instanceof MultiLineString ) {
new GML2(MultiLineString.class,GML.MultiLineString).encode(object, output);
} else if ( object instanceof MultiPolygon ) {
new GML2(MultiPolygon.class,GML.MultiPolygon).encode(object, output);
} else {
new GML2(GeometryCollection.class, GML._Geometry).encode(object, output);
}
}
else {
if ( object instanceof Point ) {
new GML2(Point.class,GML.Point).encode(object, output);
}
else if ( object instanceof LineString ) {
new GML2(LineString.class,GML.LineString).encode(object, output);
}
else if ( object instanceof Polygon ) {
new GML2(Polygon.class,GML.Polygon).encode(object, output);
}
}
}