/** Copyright (C) SYSTAP, LLC DBA Blazegraph 2006-2016. All rights reserved. Contact: SYSTAP, LLC DBA Blazegraph 2501 Calvert ST NW #106 Washington, DC 20008 licenses@blazegraph.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package com.bigdata.journal; import java.io.File; import java.io.InputStream; import java.nio.ByteBuffer; import java.util.Iterator; import java.util.Properties; import java.util.UUID; import java.util.concurrent.ExecutorService; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import com.bigdata.bfs.BigdataFileSystem; import com.bigdata.btree.BTree; import com.bigdata.btree.ICheckpointProtocol; import com.bigdata.btree.IIndex; import com.bigdata.btree.IndexMetadata; import com.bigdata.counters.CounterSet; import com.bigdata.ha.HAGlue; import com.bigdata.ha.QuorumService; import com.bigdata.mdi.IResourceMetadata; import com.bigdata.quorum.AsynchronousQuorumCloseException; import com.bigdata.quorum.Quorum; import com.bigdata.rawstore.IPSOutputStream; import com.bigdata.relation.locator.IResourceLocator; import com.bigdata.sparse.SparseRowStore; /** * {@link IJournal} delegation pattern. * * @author <a href="mailto:thompsonbry@users.sourceforge.net">Bryan Thompson</a> */ public class JournalDelegate implements IJournal { private final AbstractJournal delegate; public JournalDelegate(final AbstractJournal source) { this.delegate = source; } @Override public boolean isHAJournal() { return false; } @Override public Properties getProperties() { return delegate.getProperties(); } @Override public void shutdown() { delegate.shutdown(); } @Override public void shutdownNow() { delegate.shutdownNow(); } @Override public void abort() { delegate.abort(); } @Override public long commit() { return delegate.commit(); } @Override public ICommitRecord getCommitRecord(long timestamp) { return delegate.getCommitRecord(timestamp); } @Override public long getRootAddr(int index) { return delegate.getRootAddr(index); } @Override public IRootBlockView getRootBlockView() { return delegate.getRootBlockView(); } // public IRootBlockView getRootBlock(long commitTime) { // return delegate.getRootBlock(commitTime); // } // // public Iterator<IRootBlockView> getRootBlocks(long startTime) { // return delegate.getRootBlocks(startTime); // } @Override public void setCommitter(int index, ICommitter committer) { delegate.setCommitter(index, committer); } @Override public void close() { delegate.close(); } @Override public void delete(long addr) { delegate.delete(addr); } @Override public void deleteResources() { delegate.deleteResources(); } @Override public void destroy() { delegate.destroy(); } @Override public void force(boolean metadata) { delegate.force(metadata); } @Override public CounterSet getCounters() { return delegate.getCounters(); } @Override public File getFile() { return delegate.getFile(); } @Override public IResourceMetadata getResourceMetadata() { return delegate.getResourceMetadata(); } @Override public UUID getUUID() { return delegate.getUUID(); } @Override public boolean isFullyBuffered() { return delegate.isFullyBuffered(); } @Override public boolean isOpen() { return delegate.isOpen(); } @Override public boolean isReadOnly() { return delegate.isOpen(); } @Override public boolean isStable() { return delegate.isStable(); } @Override public ByteBuffer read(long addr) { return delegate.read(addr); } @Override public long size() { return delegate.size(); } @Override public long write(ByteBuffer data) { return delegate.write(data); } // @Override // public long write(ByteBuffer data, long oldAddr) { // return delegate.write(data, oldAddr); // } @Override public int getByteCount(long addr) { return delegate.getByteCount(addr); } @Override public long getOffset(long addr) { return delegate.getOffset(addr); } @Override public long getPhysicalAddress(final long addr) { return delegate.getPhysicalAddress(addr); } @Override public long toAddr(int nbytes, long offset) { return delegate.toAddr(nbytes, offset); } @Override public String toString(long addr) { return delegate.toString(addr); } @Override public IIndex getIndex(String name) { return delegate.getIndex(name); } @Override public IIndex registerIndex(String name, BTree btree) { return delegate.registerIndex(name, btree); } @Override public IIndex registerIndex(String name, IndexMetadata indexMetadata) { return delegate.registerIndex(name, indexMetadata); } @Override public void dropIndex(String name) { delegate.dropIndex(name); } @Override public void registerIndex(IndexMetadata indexMetadata) { delegate.registerIndex(indexMetadata); } @Override public ExecutorService getExecutorService() { return delegate.getExecutorService(); } @Override public BigdataFileSystem getGlobalFileSystem() { return delegate.getGlobalFileSystem(); } @Override public SparseRowStore getGlobalRowStore() { return delegate.getGlobalRowStore(); } @Override public SparseRowStore getGlobalRowStore(final long timestamp) { return delegate.getGlobalRowStore(timestamp); } @Override public IIndex getIndex(String name, long timestamp) { return delegate.getIndex(name, timestamp); } @Override public long getLastCommitTime() { return delegate.getLastCommitTime(); } @Override public IResourceLocator getResourceLocator() { return delegate.getResourceLocator(); } @Override public ILocalTransactionManager getLocalTransactionManager() { return delegate.getLocalTransactionManager(); } @Override public IResourceLockService getResourceLockService() { return delegate.getResourceLockService(); } @Override public TemporaryStore getTempStore() { return delegate.getTempStore(); } @Override public ScheduledFuture<?> addScheduledTask(Runnable task, long initialDelay, long delay, TimeUnit unit) { return delegate.addScheduledTask(task, initialDelay, delay, unit); } @Override public boolean getCollectPlatformStatistics() { return delegate.getCollectPlatformStatistics(); } @Override public boolean getCollectQueueStatistics() { return delegate.getCollectQueueStatistics(); } @Override public int getHttpdPort() { return delegate.getHttpdPort(); } @Override public Iterator<String> indexNameScan(String prefix, long timestamp) { return delegate.indexNameScan(prefix, timestamp); } @Override public IPSOutputStream getOutputStream() { return delegate.getOutputStream(); } @Override public InputStream getInputStream(long addr) { return delegate.getInputStream(addr); } @Override public boolean isDirty() { return delegate.isDirty(); } @Override public boolean isGroupCommit() { return delegate.isGroupCommit(); } @Override public ICheckpointProtocol register(String name, IndexMetadata metadata) { return delegate.register(name, metadata); } @Override public ICheckpointProtocol getIndexLocal(String name, long commitTime) { return delegate.getIndexLocal(name, commitTime); } @Override public ICheckpointProtocol getUnisolatedIndex(String name) { return delegate.getUnisolatedIndex(name); } @Override public Quorum<HAGlue, QuorumService<HAGlue>> getQuorum() { return delegate.getQuorum(); } @Override final public long awaitHAReady(final long timeout, final TimeUnit units) throws InterruptedException, TimeoutException, AsynchronousQuorumCloseException { return delegate.awaitHAReady(timeout, units); } }