Package org.eclipse.emf.cdo.spi.server
Class StoreAccessorBase
java.lang.Object
org.eclipse.net4j.util.event.Notifier
org.eclipse.net4j.util.lifecycle.Lifecycle
org.eclipse.emf.cdo.spi.server.StoreAccessorBase
- All Implemented Interfaces:
IQueryHandlerProvider,IStoreAccessor,InternalCDOBranchManager.BranchLoader,InternalCDOCommitInfoManager.CommitInfoLoader,org.eclipse.net4j.util.event.INotifier,org.eclipse.net4j.util.event.INotifier.INotifier2,org.eclipse.net4j.util.lifecycle.IDeactivateable,org.eclipse.net4j.util.lifecycle.ILifecycle,org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation
- Direct Known Subclasses:
StoreAccessor
public abstract class StoreAccessorBase
extends org.eclipse.net4j.util.lifecycle.Lifecycle
implements IStoreAccessor
If the meaning of this type isn't clear, there really should be more of a description here...
- Since:
- 4.0
- Author:
- Eike Stepper
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classIf the meaning of this type isn't clear, there really should be more of a description here...Nested classes/interfaces inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle
org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivationNested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier
org.eclipse.net4j.util.event.INotifier.INotifier2Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.spi.common.branch.InternalCDOBranchManager.BranchLoader
InternalCDOBranchManager.BranchLoader.BranchInfo, InternalCDOBranchManager.BranchLoader.SubBranchInfoNested classes/interfaces inherited from interface org.eclipse.emf.cdo.server.IStoreAccessor
IStoreAccessor.CommitContext, IStoreAccessor.DurableLocking, IStoreAccessor.DurableLocking2, IStoreAccessor.QueryResourcesContext, IStoreAccessor.QueryXRefsContext, IStoreAccessor.Raw, IStoreAccessor.Raw2, IStoreAccessor.UnitSupport -
Field Summary
Fields inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle
USE_LABELFields inherited from interface org.eclipse.emf.cdo.spi.common.branch.InternalCDOBranchManager.BranchLoader
NEW_BRANCH, NEW_LOCAL_BRANCH -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedStoreAccessorBase(Store store, ISession session) protectedStoreAccessorBase(Store store, ITransaction transaction) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddIDMappings(InternalCommitContext commitContext, org.eclipse.net4j.util.om.monitor.OMMonitor monitor) Add ID mappings for all new objects of a transaction to the commit context.final voidcommit(org.eclipse.net4j.util.om.monitor.OMMonitor monitor) Flushes to the back-end and makes available the data for others.protected abstract voiddoCommit(org.eclipse.net4j.util.om.monitor.OMMonitor monitor) protected voidprotected abstract voiddoRollback(IStoreAccessor.CommitContext commitContext) protected voidprotected abstract voiddoWrite(InternalCommitContext context, org.eclipse.net4j.util.om.monitor.OMMonitor monitor) protected abstract CDOIDgetNextCDOID(CDORevision revision) Returns the session this accessor is associated with.getStore()Returns the store this accessor is associated with.Returns the transaction this accessor is associated with ifIStoreAccessor.isReader()returnsfalse,nullotherwise.booleanisReader()Returnstrueif this accessor has been configured for read-only access to the back-end,falseotherwise.loadCommitData(long timeStamp) readResourceID(CDOID folderID, String name, CDOBranchPoint branchPoint) Returns theCDOIDof the resource node with the given folderID and name if a resource with this folderID and name exists in the store,nullotherwise.voidrelease()final voidrollback()Note:IStoreAccessor.write(InternalCommitContext, OMMonitor)andIStoreAccessor.rollback()could be called from different threads.final voidwrite(InternalCommitContext context, org.eclipse.net4j.util.om.monitor.OMMonitor monitor) Called before committing.Methods inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle
activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doActivate, doAfterActivate, doBeforeActivate, doBeforeDeactivate, doDeactivate, dump, getLifecycleState, isActive, isDeferredActivation, toStringMethods inherited from class org.eclipse.net4j.util.event.Notifier
addListener, addUniqueListener, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListener, hasListeners, lastListenerRemoved, listenerAdded, listenerRemoved, removeListenerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.net4j.util.event.INotifier
addListener, getListeners, hasListeners, removeListenerMethods inherited from interface org.eclipse.emf.cdo.spi.common.branch.InternalCDOBranchManager.BranchLoader
createBranch, loadBranch, loadBranches, loadSubBranchesMethods inherited from interface org.eclipse.emf.cdo.spi.common.commit.InternalCDOCommitInfoManager.CommitInfoLoader
loadCommitInfosMethods inherited from interface org.eclipse.emf.cdo.server.IQueryHandlerProvider
getQueryHandlerMethods inherited from interface org.eclipse.emf.cdo.server.IStoreAccessor
createChunkReader, handleLobs, handleRevisions, loadLob, loadPackageUnit, queryLobs, queryResources, queryXRefs, readChangeSet, readPackageUnits, readRevision, readRevisionByVersion, writePackageUnits
-
Constructor Details
-
StoreAccessorBase
-
StoreAccessorBase
-
-
Method Details
-
getStore
Description copied from interface:IStoreAccessorReturns the store this accessor is associated with.- Specified by:
getStorein interfaceIStoreAccessor
-
isReader
public boolean isReader()Description copied from interface:IStoreAccessorReturnstrueif this accessor has been configured for read-only access to the back-end,falseotherwise.- Specified by:
isReaderin interfaceIStoreAccessor
-
getSession
Description copied from interface:IStoreAccessorReturns the session this accessor is associated with.- Specified by:
getSessionin interfaceIStoreAccessor- Since:
- 3.0
-
getTransaction
Description copied from interface:IStoreAccessorReturns the transaction this accessor is associated with ifIStoreAccessor.isReader()returnsfalse,nullotherwise.- Specified by:
getTransactionin interfaceIStoreAccessor
-
release
public void release()- Specified by:
releasein interfaceIStoreAccessor
-
write
public final void write(InternalCommitContext context, org.eclipse.net4j.util.om.monitor.OMMonitor monitor) Description copied from interface:IStoreAccessorCalled before committing. An instance of this accessor represents an instance of a back-end transaction. Could be called multiple times before commit it called.IStoreAccessor.commit(OMMonitor)orIStoreAccessor.rollback()will be called after any numbers ofIStoreAccessor.write(InternalCommitContext, OMMonitor).Note:
IStoreAccessor.write(InternalCommitContext, OMMonitor)andIStoreAccessor.commit(OMMonitor)could be called from different threads.- Specified by:
writein interfaceIStoreAccessor- Since:
- 3.0
-
doWrite
protected abstract void doWrite(InternalCommitContext context, org.eclipse.net4j.util.om.monitor.OMMonitor monitor) -
commit
public final void commit(org.eclipse.net4j.util.om.monitor.OMMonitor monitor) Description copied from interface:IStoreAccessorFlushes to the back-end and makes available the data for others.Note:
IStoreAccessor.write(InternalCommitContext, OMMonitor)andIStoreAccessor.commit(OMMonitor)could be called from different threads.Note: Implementors should detect if dirty write occurred. In this case it should throw an exception.
if (revision.getVersion() != revisionDelta.getOriginVersion()) { throw new ConcurrentModificationException("Trying to update object " + revisionDelta.getID() + " that was already modified"); }- Specified by:
commitin interfaceIStoreAccessor- Since:
- 3.0
-
doCommit
protected abstract void doCommit(org.eclipse.net4j.util.om.monitor.OMMonitor monitor) - Since:
- 3.0
-
rollback
public final void rollback()Description copied from interface:IStoreAccessorNote:IStoreAccessor.write(InternalCommitContext, OMMonitor)andIStoreAccessor.rollback()could be called from different threads.- Specified by:
rollbackin interfaceIStoreAccessor
-
doRollback
-
readResourceID
Description copied from interface:IStoreAccessorReturns theCDOIDof the resource node with the given folderID and name if a resource with this folderID and name exists in the store,nullotherwise.- Specified by:
readResourceIDin interfaceIStoreAccessor- Since:
- 3.0
-
loadCommitData
- Specified by:
loadCommitDatain interfaceInternalCDOCommitInfoManager.CommitInfoLoader- Since:
- 3.0
-
addIDMappings
public void addIDMappings(InternalCommitContext commitContext, org.eclipse.net4j.util.om.monitor.OMMonitor monitor) Add ID mappings for all new objects of a transaction to the commit context. The implementor must, for each new object of the commit context, determine a permanent CDOID and make it known to the context by callingInternalCommitContext.addIDMapping(CDOID, CDOID).- Since:
- 3.0
-
getNextCDOID
-
doPassivate
- Throws:
Exception
-
doUnpassivate
- Throws:
Exception
-