/* * Copyright (c) 2010-2012, 2016 Eike Stepper (Berlin, Germany) and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Eike Stepper - initial API and implementation */ package org.eclipse.emf.cdo.spi.common.revision; import org.eclipse.emf.cdo.common.branch.CDOBranch; import org.eclipse.emf.cdo.common.branch.CDOBranchPoint; import org.eclipse.emf.cdo.common.branch.CDOBranchVersion; import org.eclipse.emf.cdo.common.id.CDOID; import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.common.revision.CDORevisionCache; import org.eclipse.emf.cdo.common.revision.CDORevisionFactory; import org.eclipse.net4j.util.lifecycle.Lifecycle; import org.eclipse.emf.ecore.EClass; import java.util.List; /** * If the meaning of this type isn't clear, there really should be more of a description here... * * @author Eike Stepper * @since 3.0 */ public abstract class DelegatingCDORevisionManager extends Lifecycle implements InternalCDORevisionManager { public DelegatingCDORevisionManager() { } public InternalCDORevisionCache getCache() { return getDelegate().getCache(); } /** * @since 4.0 */ public void setCache(CDORevisionCache cache) { getDelegate().setCache(cache); } public void setFactory(CDORevisionFactory factory) { getDelegate().setFactory(factory); } public CDORevisionFactory getFactory() { return getDelegate().getFactory(); } public RevisionLoader getRevisionLoader() { return getDelegate().getRevisionLoader(); } public void setRevisionLoader(RevisionLoader revisionLoader) { getDelegate().setRevisionLoader(revisionLoader); } public RevisionLocker getRevisionLocker() { return getDelegate().getRevisionLocker(); } public void setRevisionLocker(RevisionLocker revisionLocker) { getDelegate().setRevisionLocker(revisionLocker); } /** * @since 4.0 */ public boolean isSupportingAudits() { return getDelegate().isSupportingAudits(); } /** * @since 4.0 */ public void setSupportingAudits(boolean on) { getDelegate().setSupportingAudits(on); } public boolean isSupportingBranches() { return getDelegate().isSupportingBranches(); } public void setSupportingBranches(boolean on) { getDelegate().setSupportingBranches(on); } /** * @since 4.0 */ public void addRevision(CDORevision revision) { getDelegate().addRevision(revision); } public boolean containsRevision(CDOID id, CDOBranchPoint branchPoint) { return getDelegate().containsRevision(id, branchPoint); } public boolean containsRevisionByVersion(CDOID id, CDOBranchVersion branchVersion) { return getDelegate().containsRevisionByVersion(id, branchVersion); } public EClass getObjectType(CDOID id) { return getDelegate().getObjectType(id); } public InternalCDORevision getRevisionByVersion(CDOID id, CDOBranchVersion branchVersion, int referenceChunk, boolean loadOnDemand) { return getDelegate().getRevisionByVersion(id, branchVersion, referenceChunk, loadOnDemand); } public InternalCDORevision getRevision(CDOID id, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand) { return getDelegate().getRevision(id, branchPoint, referenceChunk, prefetchDepth, loadOnDemand); } public InternalCDORevision getRevision(CDOID id, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand, SyntheticCDORevision[] synthetics) { return getDelegate().getRevision(id, branchPoint, referenceChunk, prefetchDepth, loadOnDemand, synthetics); } public List<CDORevision> getRevisions(List<CDOID> ids, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand) { return getDelegate().getRevisions(ids, branchPoint, referenceChunk, prefetchDepth, loadOnDemand); } public List<CDORevision> getRevisions(List<CDOID> ids, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand, SyntheticCDORevision[] synthetics) { return getDelegate().getRevisions(ids, branchPoint, referenceChunk, prefetchDepth, loadOnDemand, synthetics); } public void reviseLatest(CDOID id, CDOBranch branch) { getDelegate().reviseLatest(id, branch); } public void reviseVersion(CDOID id, CDOBranchVersion branchVersion, long timeStamp) { getDelegate().reviseVersion(id, branchVersion, timeStamp); } @Override protected void doActivate() throws Exception { if (isDelegatingLifecycle()) { getDelegate().activate(); } } @Override protected void doDeactivate() throws Exception { if (isDelegatingLifecycle()) { getDelegate().deactivate(); } } protected boolean isDelegatingLifecycle() { return true; } protected abstract InternalCDORevisionManager getDelegate(); }