package org.mongodb.morphia.issue646;
import org.mongodb.morphia.converters.SimpleValueConverter;
import org.mongodb.morphia.converters.TypeConverter;
import org.mongodb.morphia.mapping.MappedField;
public class TriangleConverter extends TypeConverter implements SimpleValueConverter {
public TriangleConverter() {
super(Triangle.class);
}
@Override
public Object decode(final Class targetClass, final Object fromDBObject, final MappedField optionalExtraInfo) {
if (fromDBObject == null) {
return null;
}
if (fromDBObject instanceof String) {
return new Triangle();
}
throw new RuntimeException(
"Did not expect " + fromDBObject.getClass().getName());
}
@Override
public Object encode(final Object value, final MappedField optionalExtraInfo) {
if (value == null) {
return null;
}
if (!(value instanceof Triangle)) {
throw new RuntimeException(
"Did not expect " + value.getClass().getName());
}
return "Triangle";
}
}