public static SortedKeyValueIterator<Key,Value> setupSystemScanIterators( SortedKeyValueIterator<Key,Value> source, Set<Column> cols, Authorizations auths, byte[] defaultVisibility, AccumuloConfiguration conf) throws IOException { SortedKeyValueIterator<Key,Value> delIter = DeletingIterator.wrap(source, false, DeletingIterator.getBehavior(conf)); ColumnFamilySkippingIterator cfsi = new ColumnFamilySkippingIterator(delIter); SortedKeyValueIterator<Key,Value> colFilter = ColumnQualifierFilter.wrap(cfsi, cols); return VisibilityFilter.wrap(colFilter, auths, defaultVisibility); } }
@Override public void setInterruptFlag(AtomicBoolean flag) { this.interruptFlag = flag; for (LocalityGroup lgr : lgContext.groups) { lgr.getIterator().setInterruptFlag(flag); } }
@Override public SortedKeyValueIterator<Key,Value> deepCopy(IteratorEnvironment env) { synchronized (copies) { return new SourceSwitchingIterator(source.getDeepCopyDataSource(env), onlySwitchAfterRow, copies); } }
@Override public SortedKeyValueIterator<Key,Value> deepCopy(IteratorEnvironment env) { LocalityGroup[] groupsCopy = new LocalityGroup[lgContext.groups.size()]; for (int i = 0; i < lgContext.groups.size(); i++) { groupsCopy[i] = new LocalityGroup(lgContext.groups.get(i), env); if (interruptFlag != null) groupsCopy[i].getIterator().setInterruptFlag(interruptFlag); } return new LocalityGroupIterator(groupsCopy); }
@Override public MultiIterator deepCopy(IteratorEnvironment env) { return new MultiIterator(this, env); }
@Override public void setInterruptFlag(AtomicBoolean flag) { ((InterruptibleIterator) source).setInterruptFlag(flag); } }
@Override public DeletingIterator deepCopy(IteratorEnvironment env) { return new DeletingIterator(this, env); }
public static SortedKeyValueIterator<Key,Value> wrap(SortedKeyValueIterator<Key,Value> source, Authorizations authorizations, byte[] defaultVisibility) { if (authorizations.isEmpty() && defaultVisibility.length == 0) { return new EmptyAuthsVisibilityFilter(source); } else { return new VisibilityFilter(source, authorizations, defaultVisibility); } } }
@Override public void seek(Range range, Collection<ByteSequence> columnFamilies, boolean inclusive) throws IOException { lgCache = LocalityGroupIterator.seek(this, lgContext, range, columnFamilies, inclusive, lgCache); }
@Override public void next() throws IOException { synchronized (copies) { readNext(false); } }
public void switchNow() throws IOException { synchronized (copies) { for (SourceSwitchingIterator ssi : copies) ssi._switchNow(); } }
public SampleIterator(SortedKeyValueIterator<Key,Value> iter, Sampler sampler) { setSource(iter); this.sampler = sampler; }
protected HeapIterator(int maxSize) { createHeap(maxSize); }
@Override public CountingIterator deepCopy(IteratorEnvironment env) { return new CountingIterator(this, env); }
private void init() { for (SortedKeyValueIterator<Key,Value> skvi : iters) addSource(skvi); }
public CountingIterator(SortedKeyValueIterator<Key,Value> source) { this.setSource(source); count = 0; }
public LocalityGroupIterator(LocalityGroup groups[]) { super(groups.length); this.lgContext = new LocalityGroupContext(groups); }
@Override public void setInterruptFlag(AtomicBoolean flag) { ((InterruptibleIterator) source).setInterruptFlag(flag); }
@Override public void seek(Range range, Collection<ByteSequence> columnFamilies, boolean inclusive) throws IOException { lgCache = seek(this, lgContext, range, columnFamilies, inclusive, lgCache); }
@Override public void setInterruptFlag(AtomicBoolean flag) { this.iflag = flag; ((InterruptibleIterator) this.iter).setInterruptFlag(iflag); } }