package mil.nga.giat.geowave.adapter.vector; import mil.nga.giat.geowave.core.index.ByteArrayId; import mil.nga.giat.geowave.core.store.adapter.NativeFieldHandler.RowBuilder; import mil.nga.giat.geowave.core.store.data.PersistentValue; import org.opengis.feature.simple.SimpleFeature; /** * A GeoWave RowBuilder, used internally by AbstractDataAdapter to construct * rows from a set field values (in this case SimpleFeatures from a set of * attribute values). This implementation simply wraps a geotools * SimpleFeatureBuilder. * */ public class AvroAttributeRowBuilder implements RowBuilder<SimpleFeature, Object> { private Object object; public AvroAttributeRowBuilder() {} @Override public SimpleFeature buildRow( final ByteArrayId dataId ) { SimpleFeature sf = (SimpleFeature) object; return sf; } @Override public void setField( final PersistentValue<Object> fieldValue ) { // Only interested in the relevant fields if (fieldValue.getId().equals( AvroFeatureAttributeHandler.FIELD_ID)) { object = fieldValue.getValue(); } } }