package com.revolsys.record.io.format.saif.util;
public class SpatialObjectConverter implements OsnConverter {
private final OsnConverterRegistry converters;
public SpatialObjectConverter(final OsnConverterRegistry converters) {
this.converters = converters;
}
@Override
public Object read(final OsnIterator iterator) {
final String name = iterator.nextFieldName();
if (!name.equals("geometry")) {
iterator.throwParseError("No geometry attribute");
}
final String objectName = iterator.nextObjectName();
final OsnConverter osnConverter = this.converters.getConverter(objectName);
if (osnConverter == null) {
iterator.throwParseError("No Geometry Converter for " + objectName);
}
final Object geometry = osnConverter.read(iterator);
iterator.nextEndObject();
return geometry;
}
@Override
public void write(final OsnSerializer serializer, final Object object) {
}
}