public abstract class StoreAccessorBase extends Lifecycle implements IStoreAccessor
Modifier and Type | Class and Description |
---|---|
static class |
StoreAccessorBase.CommitDataRevisionHandler
If the meaning of this type isn't clear, there really should be more of a description here...
|
IStoreAccessor.CommitContext, IStoreAccessor.DurableLocking, IStoreAccessor.DurableLocking2, IStoreAccessor.QueryResourcesContext, IStoreAccessor.QueryXRefsContext, IStoreAccessor.Raw, IStoreAccessor.UnitSupport
InternalCDOBranchManager.BranchLoader.BranchInfo, InternalCDOBranchManager.BranchLoader.SubBranchInfo
ILifecycle.DeferrableActivation
NEW_BRANCH, NEW_LOCAL_BRANCH
Modifier | Constructor and Description |
---|---|
protected |
StoreAccessorBase(Store store,
ISession session) |
protected |
StoreAccessorBase(Store store,
ITransaction transaction) |
Modifier and Type | Method and Description |
---|---|
void |
addIDMappings(InternalCommitContext commitContext,
OMMonitor monitor)
Add ID mappings for all new objects of a transaction to the commit context.
|
void |
commit(OMMonitor monitor)
Flushes to the back-end and makes available the data for others.
|
protected abstract void |
doCommit(OMMonitor monitor) |
protected void |
doPassivate() |
protected abstract void |
doRollback(IStoreAccessor.CommitContext commitContext) |
protected void |
doUnpassivate() |
protected abstract void |
doWrite(InternalCommitContext context,
OMMonitor monitor) |
protected abstract CDOID |
getNextCDOID(CDORevision revision) |
InternalSession |
getSession()
Returns the session this accessor is associated with.
|
Store |
getStore()
Returns the store this accessor is associated with.
|
ITransaction |
getTransaction()
Returns the transaction this accessor is associated with if
IStoreAccessor.isReader() returns false ,
null otherwise. |
boolean |
isReader()
Returns
true if this accessor has been configured for read-only access to the back-end,
false otherwise. |
CDOCommitData |
loadCommitData(long timeStamp) |
CDOID |
readResourceID(CDOID folderID,
String name,
CDOBranchPoint branchPoint)
Returns the
CDOID of the resource node with the given folderID and name if a resource with this
folderID and name exists in the store, null otherwise. |
void |
release() |
void |
rollback()
Note:
IStoreAccessor.write(InternalCommitContext, OMMonitor) and IStoreAccessor.rollback()
could be called from different threads. |
void |
write(InternalCommitContext context,
OMMonitor monitor)
Called before committing.
|
activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doActivate, doAfterActivate, doBeforeActivate, doBeforeDeactivate, doDeactivate, dump, getLifecycleState, isActive, isDeferredActivation, toString
addListener, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListeners, lastListenerRemoved, removeListener
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
createChunkReader, handleLobs, handleRevisions, loadLob, loadPackageUnit, queryLobs, queryResources, queryXRefs, readChangeSet, readPackageUnits, readRevision, readRevisionByVersion, writePackageUnits
getQueryHandler
createBranch, loadBranch, loadBranches, loadSubBranches
loadCommitInfos
addListener, getListeners, hasListeners, removeListener
protected StoreAccessorBase(Store store, ITransaction transaction)
public Store getStore()
IStoreAccessor
getStore
in interface IStoreAccessor
public boolean isReader()
IStoreAccessor
true
if this accessor has been configured for read-only access to the back-end,
false
otherwise.isReader
in interface IStoreAccessor
public InternalSession getSession()
IStoreAccessor
getSession
in interface IStoreAccessor
public ITransaction getTransaction()
IStoreAccessor
IStoreAccessor.isReader()
returns false
,
null
otherwise.getTransaction
in interface IStoreAccessor
public void release()
release
in interface IStoreAccessor
public final void write(InternalCommitContext context, OMMonitor monitor)
IStoreAccessor
IStoreAccessor.commit(OMMonitor)
or
IStoreAccessor.rollback()
will be called after any numbers of
IStoreAccessor.write(InternalCommitContext, OMMonitor)
.
Note: IStoreAccessor.write(InternalCommitContext, OMMonitor)
and
IStoreAccessor.commit(OMMonitor)
could be called from different threads.
write
in interface IStoreAccessor
protected abstract void doWrite(InternalCommitContext context, OMMonitor monitor)
public final void commit(OMMonitor monitor)
IStoreAccessor
Note: IStoreAccessor.write(InternalCommitContext, OMMonitor)
and
IStoreAccessor.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"); }
commit
in interface IStoreAccessor
protected abstract void doCommit(OMMonitor monitor)
public final void rollback()
IStoreAccessor
IStoreAccessor.write(InternalCommitContext, OMMonitor)
and IStoreAccessor.rollback()
could be called from different threads.rollback
in interface IStoreAccessor
protected abstract void doRollback(IStoreAccessor.CommitContext commitContext)
public CDOID readResourceID(CDOID folderID, String name, CDOBranchPoint branchPoint)
IStoreAccessor
CDOID
of the resource node with the given folderID and name if a resource with this
folderID and name exists in the store, null
otherwise.readResourceID
in interface IStoreAccessor
public CDOCommitData loadCommitData(long timeStamp)
loadCommitData
in interface InternalCDOCommitInfoManager.CommitInfoLoader
public void addIDMappings(InternalCommitContext commitContext, OMMonitor monitor)
InternalCommitContext.addIDMapping(CDOID, CDOID)
.protected abstract CDOID getNextCDOID(CDORevision revision)
Copyright (c) 2011-2015 Eike Stepper (Berlin, Germany) and others.