@Override public void store(final Transaction txn, final byte[] tkey, final byte[] tvalue) throws IOException { final byte[] key = inverseTransformKey(tkey); if (key == null) { throw fail(); } mSource.store(txn, key, mTransformer.inverseTransformValue(tvalue, key, tkey)); }
@Override public void store(final Transaction txn, final byte[] tkey, final byte[] tvalue) throws IOException { final byte[] key = inverseTransformKey(tkey); if (key == null) { if (tvalue == null) { return; } throw fail(); } mSource.store(txn, key, mTransformer.inverseTransformValue(tvalue, key, tkey)); }
@Override public boolean update(final Transaction txn, final byte[] tkey, final byte[] tvalue) throws IOException { final byte[] key = inverseTransformKey(tkey); if (key == null) { if (tvalue != null) { return false; } throw fail(); } final byte[] value = mTransformer.inverseTransformValue(tvalue, key, tkey); return mSource.update(txn, key, value); }
@Override public void store(final Transaction txn, final byte[] tkey, final byte[] tvalue) throws IOException { final byte[] key = inverseTransformKey(tkey); if (key == null) { if (tvalue == null) { return; } throw fail(); } mSource.store(txn, key, mTransformer.inverseTransformValue(tvalue, key, tkey)); }
@Override public void commit(final byte[] tvalue) throws IOException { final byte[] tkey = mKey; ViewUtils.positionCheck(tkey); final Cursor c = mSource; final byte[] key = c.key(); ViewUtils.positionCheck(key); c.commit(mTransformer.inverseTransformValue(tvalue, key, tkey)); mValue = tvalue; }
@Override public byte[] exchange(final Transaction txn, final byte[] tkey, final byte[] tvalue) throws IOException { final byte[] key = inverseTransformKey(tkey); if (key == null) { throw fail(); } return mTransformer.transformValue (mSource.exchange(txn, key, mTransformer.inverseTransformValue(tvalue, key, tkey)), key, tkey); }
@Override public void commit(final byte[] tvalue) throws IOException { final byte[] tkey = mKey; ViewUtils.positionCheck(tkey); final Cursor c = mSource; final byte[] key = c.key(); ViewUtils.positionCheck(key); c.commit(mTransformer.inverseTransformValue(tvalue, key, tkey)); mValue = tvalue; }
@Override public void store(final byte[] tvalue) throws IOException { final byte[] tkey = mKey; ViewUtils.positionCheck(tkey); final Cursor c = mSource; final byte[] key = c.key(); ViewUtils.positionCheck(key); c.store(mTransformer.inverseTransformValue(tvalue, key, tkey)); mValue = tvalue; }
@Override public void commit(final byte[] tvalue) throws IOException { final byte[] tkey = mKey; ViewUtils.positionCheck(tkey); final Cursor c = mSource; final byte[] key = c.key(); if (key == null) { throw TransformedView.fail(); } c.commit(mTransformer.inverseTransformValue(tvalue, key, tkey)); mValue = tvalue; }
@Override public void store(final byte[] tvalue) throws IOException { final byte[] tkey = mKey; ViewUtils.positionCheck(tkey); final Cursor c = mSource; final byte[] key = c.key(); ViewUtils.positionCheck(key); c.store(mTransformer.inverseTransformValue(tvalue, key, tkey)); mValue = tvalue; }
@Override public void store(final byte[] tvalue) throws IOException { final byte[] tkey = mKey; ViewUtils.positionCheck(tkey); final Cursor c = mSource; final byte[] key = c.key(); if (key == null) { throw TransformedView.fail(); } c.store(mTransformer.inverseTransformValue(tvalue, key, tkey)); mValue = tvalue; }
@Override public boolean remove(final Transaction txn, final byte[] tkey, final byte[] tvalue) throws IOException { final byte[] key = inverseTransformKey(tkey); if (key == null) { return tvalue == null; } final byte[] value = mTransformer.inverseTransformValue(tvalue, key, tkey); if (txn == null || txn.lockMode() == LockMode.UNSAFE) { return mSource.remove(txn, key, value); } return condUpdate(txn, key, value, null); }
@Override public boolean remove(final Transaction txn, final byte[] tkey, final byte[] tvalue) throws IOException { final byte[] key = inverseTransformKey(tkey); if (key == null) { return tvalue == null; } final byte[] value = mTransformer.inverseTransformValue(tvalue, key, tkey); if (txn == null || txn.lockMode() == LockMode.UNSAFE) { return mSource.remove(txn, key, value); } return condUpdate(txn, key, value, null); }
@Override public boolean replace(final Transaction txn, final byte[] tkey, final byte[] tvalue) throws IOException { final byte[] key = inverseTransformKey(tkey); if (key == null) { return false; } final byte[] value = mTransformer.inverseTransformValue(tvalue, key, tkey); if (txn == null || txn.lockMode() == LockMode.UNSAFE) { return mSource.replace(txn, key, value); } return condStore(txn, key, value, null); }
@Override public boolean replace(final Transaction txn, final byte[] tkey, final byte[] tvalue) throws IOException { final byte[] key = inverseTransformKey(tkey); if (key == null) { return false; } final byte[] value = mTransformer.inverseTransformValue(tvalue, key, tkey); if (txn == null || txn.lockMode() == LockMode.UNSAFE) { return mSource.replace(txn, key, value); } return condStore(txn, key, value, null); }
@Override public byte[] exchange(final Transaction txn, final byte[] tkey, final byte[] tvalue) throws IOException { final byte[] key = inverseTransformKey(tkey); if (key == null) { if (tvalue == null) { return null; } throw fail(); } return mTransformer.transformValue (mSource.exchange(txn, key, mTransformer.inverseTransformValue(tvalue, key, tkey)), key, tkey); }
@Override public byte[] exchange(final Transaction txn, final byte[] tkey, final byte[] tvalue) throws IOException { final byte[] key = inverseTransformKey(tkey); if (key == null) { if (tvalue == null) { return null; } throw fail(); } return mTransformer.transformValue (mSource.exchange(txn, key, mTransformer.inverseTransformValue(tvalue, key, tkey)), key, tkey); }
@Override public boolean replace(final Transaction txn, final byte[] tkey, final byte[] tvalue) throws IOException { final byte[] key = inverseTransformKey(tkey); if (key == null) { return false; } final byte[] value = mTransformer.inverseTransformValue(tvalue, key, tkey); if (value == null) { return mSource.delete(txn, key); } else if (tvalue != null) { return mSource.replace(txn, key, value); } else { return mSource.update(txn, key, value); } }
@Override public boolean insert(final Transaction txn, final byte[] tkey, final byte[] tvalue) throws IOException { final byte[] key = inverseTransformKey(tkey); if (key == null) { if (tvalue == null) { return true; } throw fail(); } final byte[] value = mTransformer.inverseTransformValue(tvalue, key, tkey); if (txn == null || txn.lockMode() == LockMode.UNSAFE) { return mSource.insert(txn, key, value); } return condStore(txn, key, value, Cursor.NOT_LOADED); }
@Override public boolean insert(final Transaction txn, final byte[] tkey, final byte[] tvalue) throws IOException { final byte[] key = inverseTransformKey(tkey); if (key == null) { if (tvalue == null) { return true; } throw fail(); } final byte[] value = mTransformer.inverseTransformValue(tvalue, key, tkey); if (txn == null || txn.lockMode() == LockMode.UNSAFE) { return mSource.insert(txn, key, value); } return condStore(txn, key, value, Cursor.NOT_LOADED); }