@Override public SortedKeyValueIterator<Key,Value> deepCopy(IteratorEnvironment env) { CfCqSliceFilter o = (CfCqSliceFilter) super.deepCopy(env); o.cso = new CfCqSliceOpts(cso); return o; }
@Override public void init(SortedKeyValueIterator<Key,Value> source, Map<String,String> options, IteratorEnvironment env) throws IOException { super.init(source, options, env); cso = new CfCqSliceOpts(options); }
@Override public SortedKeyValueIterator<Key,Value> deepCopy(IteratorEnvironment env) { CfCqSliceSeekingFilter o = (CfCqSliceSeekingFilter) super.deepCopy(env); o.cso = new CfCqSliceOpts(cso); return o; }
@Override public void init(SortedKeyValueIterator<Key,Value> source, Map<String,String> options, IteratorEnvironment env) throws IOException { super.init(source, options, env); cso = new CfCqSliceOpts(options); }
@Override public boolean validateOptions(Map<String,String> options) { // if you don't specify a max CF and a max CQ, that means there's no upper bounds to the // slice. In that case // you must not set max inclusive to false. CfCqSliceOpts o = new CfCqSliceOpts(options); boolean boundsOk = true; boolean upperBoundsExist = o.maxCf.getLength() > 0 && o.maxCq.getLength() > 0; if (upperBoundsExist) { boundsOk = o.maxInclusive; } boolean cqRangeOk = o.maxCq.getLength() == 0 || (o.minCq.compareTo(o.maxCq) < 1); boolean cfRangeOk = o.maxCf.getLength() == 0 || (o.minCf.compareTo(o.maxCf) < 1); return boundsOk && cqRangeOk && cfRangeOk; } }
@Override public void init(SortedKeyValueIterator<Key,Value> source, Map<String,String> options, IteratorEnvironment env) throws IOException { super.init(source, options, env); cso = new CfCqSliceOpts(options); }
@Override public SortedKeyValueIterator<Key,Value> deepCopy(IteratorEnvironment env) { CfCqSliceSeekingFilter o = (CfCqSliceSeekingFilter) super.deepCopy(env); o.cso = new CfCqSliceOpts(cso); return o; }
@Override public void init(SortedKeyValueIterator<Key,Value> source, Map<String,String> options, IteratorEnvironment env) throws IOException { super.init(source, options, env); cso = new CfCqSliceOpts(options); }
@Override public SortedKeyValueIterator<Key,Value> deepCopy(IteratorEnvironment env) { CfCqSliceFilter o = (CfCqSliceFilter) super.deepCopy(env); o.cso = new CfCqSliceOpts(cso); return o; }
@Override public boolean validateOptions(Map<String,String> options) { // if you don't specify a max CF and a max CQ, that means there's no upper bounds to the // slice. In that case // you must not set max inclusive to false. CfCqSliceOpts o = new CfCqSliceOpts(options); boolean boundsOk = true; boolean upperBoundsExist = o.maxCf.getLength() > 0 && o.maxCq.getLength() > 0; if (upperBoundsExist) { boundsOk = o.maxInclusive; } boolean cqRangeOk = o.maxCq.getLength() == 0 || (o.minCq.compareTo(o.maxCq) < 1); boolean cfRangeOk = o.maxCf.getLength() == 0 || (o.minCf.compareTo(o.maxCf) < 1); return boundsOk && cqRangeOk && cfRangeOk; } }