blob: 4be5a9706c84540e1e7145e1b04db9e39c023833 (
plain) (
tree)
|
|
/**
* Copyright (c) 2004 - 2010 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:
* Simon McDuff - initial API and implementation
* Eike Stepper - maintenance
*/
package org.eclipse.emf.spi.cdo;
import org.eclipse.emf.cdo.common.commit.CDOChangeSetData;
import org.eclipse.emf.cdo.common.commit.CDOCommitData;
import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.id.CDOIDTemp;
import org.eclipse.emf.cdo.common.revision.CDORevision;
import org.eclipse.emf.cdo.common.revision.delta.CDOFeatureDelta;
import org.eclipse.emf.cdo.common.revision.delta.CDORevisionDelta;
import org.eclipse.emf.cdo.eresource.CDOResourceFolder;
import org.eclipse.emf.cdo.spi.common.commit.CDORevisionAvailabilityInfo;
import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevision;
import org.eclipse.emf.cdo.transaction.CDOCommitContext;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
import org.eclipse.emf.spi.cdo.CDOSessionProtocol.CommitTransactionResult;
import java.util.List;
import java.util.Map;
/**
* @author Simon McDuff
* @since 2.0
* @noimplement This interface is not intended to be implemented by clients.
*/
public interface InternalCDOTransaction extends CDOTransaction, InternalCDOUserTransaction, InternalCDOView
{
public InternalCDOCommitContext createCommitContext();
/**
* @since 3.0
*/
public InternalCDOSavepoint setSavepoint();
/**
* @since 3.0
*/
public InternalCDOSavepoint getLastSavepoint();
/**
* @since 3.0
*/
public InternalCDOSavepoint handleSetSavepoint();
/**
* @since 3.0
*/
public void handleRollback(InternalCDOSavepoint savepoint);
public CDOTransactionStrategy getTransactionStrategy();
public void setTransactionStrategy(CDOTransactionStrategy transactionStrategy);
/**
* @return never <code>null</code>;
*/
public CDOResourceFolder getOrCreateResourceFolder(List<String> names);
public void detachObject(InternalCDOObject object);
public CDOIDTemp getNextTemporaryID();
public void registerNew(InternalCDOObject object);
public void registerDirty(InternalCDOObject object, CDOFeatureDelta featureDelta);
public void registerFeatureDelta(InternalCDOObject object, CDOFeatureDelta featureDelta);
public void registerRevisionDelta(CDORevisionDelta revisionDelta);
public void setConflict(InternalCDOObject object);
/**
* @since 3.0
*/
public CDOChangeSetData applyChangeSetData(CDOChangeSetData changeSetData, CDORevisionAvailabilityInfo ancestorInfo,
CDORevisionAvailabilityInfo targetInfo, CDORevisionAvailabilityInfo sourceInfo);
/**
* @since 3.0
*/
public Map<InternalCDOObject, InternalCDORevision> getFormerRevisions();
/**
* @since 3.0
*/
public Map<CDOID, CDORevision> getBaseNewObjects();
/**
* Provides a context for a commit operation.
*
* @author Simon McDuff
*/
public interface InternalCDOCommitContext extends CDOCommitContext
{
public InternalCDOTransaction getTransaction();
/**
* @since 3.0
*/
public CDOCommitData getCommitData();
public void preCommit();
public void postCommit(CommitTransactionResult result);
}
}
|