package mil.nga.giat.geowave.core.store.adapter; import mil.nga.giat.geowave.core.index.ByteArrayId; import mil.nga.giat.geowave.core.store.data.PersistentValue; import mil.nga.giat.geowave.core.store.index.CommonIndexValue; /** * This is used by the AbstractDataAdapter to translate between native values * and persistence encoded values. The basic implementation of this will perform * type matching on the index field type - for explicitly defining the supported * dimensions, use DimensionMatchingIndexFieldHandler * * @param <RowType> * @param <IndexFieldType> * @param <NativeFieldType> */ public interface IndexFieldHandler<RowType, IndexFieldType extends CommonIndexValue, NativeFieldType> { public ByteArrayId[] getNativeFieldIds(); public IndexFieldType toIndexValue( RowType row ); public PersistentValue<NativeFieldType>[] toNativeValues( IndexFieldType indexValue ); }