package mil.nga.giat.geowave.core.geotime.store.dimension; import mil.nga.giat.geowave.core.store.data.field.ArrayReader.FixedSizeObjectArrayReader; import mil.nga.giat.geowave.core.store.data.field.ArrayWriter.FixedSizeObjectArrayWriter; import mil.nga.giat.geowave.core.store.data.field.FieldReader; import mil.nga.giat.geowave.core.store.data.field.FieldWriter; import mil.nga.giat.geowave.core.store.dimension.ArrayAdapter; import mil.nga.giat.geowave.core.store.dimension.ArrayField; import mil.nga.giat.geowave.core.store.dimension.ArrayWrapper; import mil.nga.giat.geowave.core.store.dimension.NumericDimensionField; public class TimeArrayField extends ArrayField<Time> implements NumericDimensionField<ArrayWrapper<Time>> { private ArrayAdapter<Time> adapter; public TimeArrayField( final NumericDimensionField<Time> elementField ) { super( elementField); adapter = new ArrayAdapter<Time>( new FixedSizeObjectArrayReader( elementField.getReader()), new FixedSizeObjectArrayWriter( elementField.getWriter())); } public TimeArrayField() {} @Override public FieldWriter<?, ArrayWrapper<Time>> getWriter() { return adapter; } @Override public FieldReader<ArrayWrapper<Time>> getReader() { return adapter; } @Override public void fromBinary( final byte[] bytes ) { super.fromBinary(bytes); adapter = new ArrayAdapter<Time>( new FixedSizeObjectArrayReader( elementField.getReader()), new FixedSizeObjectArrayWriter( elementField.getWriter())); } }