package mil.nga.giat.geowave.core.geotime.store.field;
import mil.nga.giat.geowave.core.geotime.store.field.GeometrySerializationProvider.GeometryReader;
import mil.nga.giat.geowave.core.geotime.store.field.GeometrySerializationProvider.GeometryWriter;
import mil.nga.giat.geowave.core.store.data.field.FieldReader;
import mil.nga.giat.geowave.core.store.data.field.FieldSerializationProviderSpi;
import mil.nga.giat.geowave.core.store.data.field.FieldWriter;
import mil.nga.giat.geowave.core.store.data.field.ArrayReader.VariableSizeObjectArrayReader;
import mil.nga.giat.geowave.core.store.data.field.ArrayWriter.VariableSizeObjectArrayWriter;
import com.vividsolutions.jts.geom.Geometry;
public class GeometryArraySerializationProvider implements
FieldSerializationProviderSpi<Geometry[]>
{
@Override
public FieldReader<Geometry[]> getFieldReader() {
return new GeometryArrayReader();
}
@Override
public FieldWriter<Object, Geometry[]> getFieldWriter() {
return new GeometryArrayWriter();
}
private static class GeometryArrayReader extends
VariableSizeObjectArrayReader<Geometry>
{
public GeometryArrayReader() {
super(
new GeometryReader());
}
}
private static class GeometryArrayWriter extends
VariableSizeObjectArrayWriter<Object, Geometry>
{
public GeometryArrayWriter() {
super(
new GeometryWriter());
}
}
}