package mil.nga.giat.geowave.core.store.filter; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import mil.nga.giat.geowave.core.index.ByteArrayId; import mil.nga.giat.geowave.core.store.data.IndexedPersistenceEncoding; import mil.nga.giat.geowave.core.store.index.CommonIndexModel; public class PrefixIdQueryFilter implements DistributableQueryFilter { private ByteArrayId rowPrefix; protected PrefixIdQueryFilter() {} public PrefixIdQueryFilter( final ByteArrayId rowPrefix ) { this.rowPrefix = rowPrefix; } @Override public boolean accept( final CommonIndexModel indexModel, final IndexedPersistenceEncoding persistenceEncoding ) { ByteArrayId rowId = persistenceEncoding.getIndexInsertionId(); return (Arrays.equals( rowPrefix.getBytes(), Arrays.copyOf( rowId.getBytes(), rowId.getBytes().length))); } @Override public byte[] toBinary() { return rowPrefix.getBytes(); } @Override public void fromBinary( final byte[] bytes ) { rowPrefix = new ByteArrayId( bytes); } }