/* Copyright (c) 2014 Boundless and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Distribution License v1.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/org/documents/edl-v10.html * * Contributors: * Gabriel Roldan (Boundless) - initial implementation */ package org.locationtech.geogig.storage; import java.util.Iterator; import java.util.List; import org.locationtech.geogig.api.ObjectId; import org.locationtech.geogig.api.RevCommit; import org.locationtech.geogig.api.RevFeature; import org.locationtech.geogig.api.RevFeatureType; import org.locationtech.geogig.api.RevObject; import org.locationtech.geogig.api.RevTag; import org.locationtech.geogig.api.RevTree; import org.locationtech.geogig.repository.RepositoryConnectionException; import com.google.inject.Provider; public class ForwardingObjectDatabase implements ObjectDatabase { protected final Provider<? extends ObjectDatabase> subject; public ForwardingObjectDatabase(Provider<? extends ObjectDatabase> odb) { this.subject = odb; } @Override public void open() { subject.get().open(); } @Override public void configure() throws RepositoryConnectionException { subject.get().configure(); } @Override public void checkConfig() throws RepositoryConnectionException { subject.get().checkConfig(); } @Override public boolean isOpen() { return subject.get().isOpen(); } @Override public void close() { subject.get().close(); } @Override public boolean exists(ObjectId id) { return subject.get().exists(id); } @Override public List<ObjectId> lookUp(String partialId) { return subject.get().lookUp(partialId); } @Override public RevObject get(ObjectId id) throws IllegalArgumentException { return subject.get().get(id); } @Override public <T extends RevObject> T get(ObjectId id, Class<T> type) throws IllegalArgumentException { return subject.get().get(id, type); } @Override public RevObject getIfPresent(ObjectId id) { return subject.get().getIfPresent(id); } @Override public <T extends RevObject> T getIfPresent(ObjectId id, Class<T> type) throws IllegalArgumentException { return subject.get().getIfPresent(id, type); } @Override public RevTree getTree(ObjectId id) { return subject.get().getTree(id); } @Override public RevFeature getFeature(ObjectId id) { return subject.get().getFeature(id); } @Override public RevFeatureType getFeatureType(ObjectId id) { return subject.get().getFeatureType(id); } @Override public RevCommit getCommit(ObjectId id) { return subject.get().getCommit(id); } @Override public RevTag getTag(ObjectId id) { return subject.get().getTag(id); } @Override public boolean put(RevObject object) { return subject.get().put(object); } @Override @Deprecated public ObjectInserter newObjectInserter() { return new ObjectInserter(this); } @Override public boolean delete(ObjectId objectId) { return subject.get().delete(objectId); } @Override public Iterator<RevObject> getAll(Iterable<ObjectId> ids) { return subject.get().getAll(ids); } @Override public Iterator<RevObject> getAll(Iterable<ObjectId> ids, BulkOpListener listener) { return subject.get().getAll(ids, listener); } @Override public void putAll(Iterator<? extends RevObject> objects) { subject.get().putAll(objects); } @Override public void putAll(Iterator<? extends RevObject> objects, BulkOpListener listener) { subject.get().putAll(objects, listener); } @Override public long deleteAll(Iterator<ObjectId> ids) { return deleteAll(ids); } @Override public long deleteAll(Iterator<ObjectId> ids, BulkOpListener listener) { return subject.get().deleteAll(ids, listener); } @Override public String toString() { return String.format("%s[%s]", getClass().getSimpleName(), subject); } }