@Override public Cursor newCursor(Transaction txn) { return new ReverseCursor(mSource.newCursor(txn)); }
@Override public Cursor newCursor(Transaction txn) { return new TrimmedCursor(this, mSource.newCursor(txn)); }
@Override public Cursor newCursor(Transaction txn) { return new TransformedCursor(mSource.newCursor(txn), mTransformer); }
@Override public Cursor newCursor(Transaction txn) { return new UnmodifiableCursor(mSource.newCursor(txn)); }
@Override public Cursor newCursor(Transaction txn) { return new ReverseCursor(mSource.newCursor(txn)); }
@Override public Cursor newCursor(Transaction txn) { return new TransformedCursor(mSource.newCursor(txn), mTransformer); }
@Override public Cursor newCursor(Transaction txn) { return new UnmodifiableCursor(mSource.newCursor(txn)); }
@Override public Cursor newCursor(Transaction txn) { return new BoundedCursor(this, mSource.newCursor(txn)); }
@Override public Cursor newCursor(Transaction txn) { return new TrimmedCursor(this, mSource.newCursor(txn)); }
@Override public Cursor newCursor(Transaction txn) { return new ReverseCursor(mSource.newCursor(txn)); }
@Override public Cursor newCursor(Transaction txn) { return new KeyOnlyCursor(mSource.newCursor(txn)); }
@Override public Cursor newCursor(Transaction txn) { return new TrimmedCursor(this, mSource.newCursor(txn)); }
@Override public Cursor newCursor(Transaction txn) { return new BoundedCursor(this, mSource.newCursor(txn)); }
@Override public Cursor newCursor(Transaction txn) { return new BoundedCursor(this, mSource.newCursor(txn)); }
@Override public Cursor newCursor(Transaction txn) { return new UnmodifiableCursor(mSource.newCursor(txn)); }
@Override public Cursor newCursor(Transaction txn) { return new TransformedCursor(mSource.newCursor(txn), mTransformer); }
/** * Returns a new scanner over this view. * * @param txn optional transaction for Scanner to use; pass null for auto-commit mode * @return a new scanner positioned at the first entry in the view * @throws IllegalArgumentException if transaction belongs to another database instance */ public default Scanner newScanner(Transaction txn) throws IOException { Cursor c = newCursor(txn); c.first(); return new CursorScanner(c); }
@Override public byte[] load(Transaction txn, byte[] key) throws IOException { Cursor c = mSource.newCursor(txn); try { c.autoload(false); c.find(key); return valueScrub(c.value()); } finally { c.reset(); } }
@Override public byte[] exchange(Transaction txn, byte[] key, byte[] value) throws IOException { valueCheck(value); Cursor c = mSource.newCursor(txn); try { c.autoload(false); c.find(key); byte[] old = valueScrub(c.value()); c.store(value); return old; } finally { c.reset(); } }