/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
package de.cismet.cids.tools.tostring;
import Sirius.server.localserver.attribute.Attribute;
import Sirius.server.localserver.attribute.ObjectAttribute;
import com.vividsolutions.jts.geom.Geometry;
import java.io.Serializable;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
/**
* DOCUMENT ME!
*
* @version $Revision$, $Date$
*/
public class ToStringConverter implements Serializable {
//~ Static fields/initializers ---------------------------------------------
private static final String GEOMETRY_CLASS_NAME = "com.vividsolutions.jts.geom.Geometry";
//~ Methods ----------------------------------------------------------------
/**
* DOCUMENT ME!
*
* @param o DOCUMENT ME!
* @param classes DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public String convert(final Sirius.server.localserver.object.Object o, final HashMap classes) {
final StringBuilder stringRepresentation = new StringBuilder();
final Collection<Attribute> names = o.getAttributeByName("name", 1); // NOI18N
final Iterator iter = names.iterator();
if (iter.hasNext()) {
stringRepresentation.append(((ObjectAttribute)iter.next()).getValue());
} else {
stringRepresentation.append(o.getKey().toString());
}
return stringRepresentation.toString();
}
/**
* DOCUMENT ME!
*
* @param o DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public String convert(final StringConvertable o) {
final StringBuilder stringRepresentation = new StringBuilder();
if (o instanceof Sirius.server.localserver.object.Object) {
final Collection<Attribute> names = ((Sirius.server.localserver.object.Object)o).getAttributeByName(
"name", // NOI18N
1);
for (final Attribute cur : names) {
stringRepresentation.append(cur.getValue());
}
} else if (o instanceof Sirius.server.localserver.attribute.ObjectAttribute) {
if (((Sirius.server.localserver.attribute.ObjectAttribute)o).getMai().getJavaclassname().equals(
GEOMETRY_CLASS_NAME)) {
final Geometry geom = (Geometry)((ObjectAttribute)o).getValue();
stringRepresentation.append(geom.getGeometryType());
} else {
stringRepresentation.append(((ObjectAttribute)o).getValue());
}
}
return stringRepresentation.toString();
}
}