// Copyright 2017 JanusGraph Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package org.janusgraph.diskstorage.keycolumnvalue; import com.google.common.base.Preconditions; import org.janusgraph.diskstorage.BackendException; import org.janusgraph.diskstorage.Entry; import org.janusgraph.diskstorage.EntryList; import org.janusgraph.diskstorage.StaticBuffer; import java.util.List; import java.util.Map; /** * Wraps a {@link org.janusgraph.diskstorage.keycolumnvalue.KeyColumnValueStore} as a proxy as a basis for * other wrappers * * @author Matthias Bröcheler (me@matthiasb.com); */ public class KCVSProxy implements KeyColumnValueStore { protected final KeyColumnValueStore store; public KCVSProxy(KeyColumnValueStore store) { Preconditions.checkArgument(store!=null); this.store = store; } protected StoreTransaction unwrapTx(StoreTransaction txh) { return txh; } @Override public void close() throws BackendException { store.close(); } @Override public void acquireLock(StaticBuffer key, StaticBuffer column, StaticBuffer expectedValue, StoreTransaction txh) throws BackendException { store.acquireLock(key,column,expectedValue,unwrapTx(txh)); } @Override public KeyIterator getKeys(KeyRangeQuery keyQuery, StoreTransaction txh) throws BackendException { return store.getKeys(keyQuery, unwrapTx(txh)); } @Override public KeyIterator getKeys(SliceQuery columnQuery, StoreTransaction txh) throws BackendException { return store.getKeys(columnQuery, unwrapTx(txh)); } @Override public String getName() { return store.getName(); } @Override public void mutate(StaticBuffer key, List<Entry> additions, List<StaticBuffer> deletions, StoreTransaction txh) throws BackendException { store.mutate(key, additions, deletions, unwrapTx(txh)); } @Override public EntryList getSlice(KeySliceQuery query, StoreTransaction txh) throws BackendException { return store.getSlice(query, unwrapTx(txh)); } @Override public Map<StaticBuffer,EntryList> getSlice(List<StaticBuffer> keys, SliceQuery query, StoreTransaction txh) throws BackendException { return store.getSlice(keys, query, unwrapTx(txh)); } }