|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Represents a connection to a physical data storage back-end.
Nested Class Summary | |
---|---|
static interface |
IStoreAccessor.CommitContext
Represents the state of a single, logical commit operation which is driven through multiple calls to several methods on the IStoreAccessor API. |
static interface |
IStoreAccessor.DurableLocking
An extension interface for store accessors that support durable locking. |
static interface |
IStoreAccessor.DurableLocking2
An extension interface for store accessors that support durable locking. |
static interface |
IStoreAccessor.QueryResourcesContext
Represents the query execution state of a resources
query . |
static interface |
IStoreAccessor.QueryXRefsContext
Represents the query execution state of a XRefs query . |
static interface |
IStoreAccessor.Raw
An extension interface for store accessors that support raw data access as needed by
repository synchronizers or server importers . |
Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.spi.common.branch.InternalCDOBranchManager.BranchLoader |
---|
InternalCDOBranchManager.BranchLoader.BranchInfo, InternalCDOBranchManager.BranchLoader.SubBranchInfo |
Field Summary |
---|
Fields inherited from interface org.eclipse.emf.cdo.spi.common.branch.InternalCDOBranchManager.BranchLoader |
---|
NEW_BRANCH, NEW_LOCAL_BRANCH |
Method Summary | |
---|---|
void |
commit(OMMonitor monitor)
Flushes to the back-end and makes available the data for others. |
IStoreChunkReader |
createChunkReader(InternalCDORevision revision,
EStructuralFeature feature)
|
InternalSession |
getSession()
Returns the session this accessor is associated with. |
IStore |
getStore()
Returns the store this accessor is associated with. |
ITransaction |
getTransaction()
Returns the transaction this accessor is associated with if isReader() returns false ,
null otherwise. |
void |
handleLobs(long fromTime,
long toTime,
CDOLobHandler handler)
|
void |
handleRevisions(EClass eClass,
CDOBranch branch,
long timeStamp,
boolean exactTime,
CDORevisionHandler handler)
Passes all revisions of the store to the handler if all of the following
conditions are met:
The eClass parameter is null or equal to revision.getEClass() . |
boolean |
isReader()
Returns true if this accessor has been configured for read-only access to the back-end,
false otherwise. |
void |
loadLob(byte[] id,
OutputStream out)
Serializes the content of the large object identified by the given ID to the given
stream. |
EPackage[] |
loadPackageUnit(InternalCDOPackageUnit packageUnit)
Demand loads a given package proxy that has been created on startup of the repository. |
void |
queryLobs(List<byte[]> ids)
Determines which of the large objects identified by the given IDs are known in the backend
represented by this IStoreAccessor by removing the unknown IDs from the passed collection. |
void |
queryResources(IStoreAccessor.QueryResourcesContext context)
|
void |
queryXRefs(IStoreAccessor.QueryXRefsContext context)
|
Set<CDOID> |
readChangeSet(OMMonitor monitor,
CDOChangeSetSegment... segments)
Returns a set of CDOIDs that have at least one revision in any of the passed branches and time ranges. |
Collection<InternalCDOPackageUnit> |
readPackageUnits()
|
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. |
InternalCDORevision |
readRevision(CDOID id,
CDOBranchPoint branchPoint,
int listChunk,
CDORevisionCacheAdder cache)
Reads a revision from the back-end that was valid at the given timeStamp in the given branch. |
InternalCDORevision |
readRevisionByVersion(CDOID id,
CDOBranchVersion branchVersion,
int listChunk,
CDORevisionCacheAdder cache)
Reads a revision with the given version in the given branch from the back-end. |
void |
release()
|
void |
rollback()
Note: write(InternalCommitContext, OMMonitor) and rollback()
could be called from different threads. |
void |
write(InternalCommitContext context,
OMMonitor monitor)
Called before committing. |
void |
writePackageUnits(InternalCDOPackageUnit[] packageUnits,
OMMonitor monitor)
|
Methods inherited from interface org.eclipse.emf.cdo.server.IQueryHandlerProvider |
---|
getQueryHandler |
Methods inherited from interface org.eclipse.emf.cdo.spi.common.branch.InternalCDOBranchManager.BranchLoader |
---|
createBranch, loadBranch, loadBranches, loadSubBranches |
Methods inherited from interface org.eclipse.emf.cdo.spi.common.commit.InternalCDOCommitInfoManager.CommitInfoLoader |
---|
loadCommitData, loadCommitInfos |
Method Detail |
---|
IStore getStore()
InternalSession getSession()
ITransaction getTransaction()
isReader()
returns false
,
null
otherwise.
boolean isReader()
true
if this accessor has been configured for read-only access to the back-end,
false
otherwise.
IStoreChunkReader createChunkReader(InternalCDORevision revision, EStructuralFeature feature)
Collection<InternalCDOPackageUnit> readPackageUnits()
EPackage[] loadPackageUnit(InternalCDOPackageUnit packageUnit)
This method must only load the given package, not possible contained packages.
InternalCDORevision readRevision(CDOID id, CDOBranchPoint branchPoint, int listChunk, CDORevisionCacheAdder cache)
InternalCDORevision readRevisionByVersion(CDOID id, CDOBranchVersion branchVersion, int listChunk, CDORevisionCacheAdder cache)
void handleRevisions(EClass eClass, CDOBranch branch, long timeStamp, boolean exactTime, CDORevisionHandler handler)
handler
if all of the following
conditions are met:
eClass
parameter is null
or equal to revision.getEClass()
.
branch
parameter is null
or equal to revision.getBranch()
.
timeStamp
parameter is INVALID
.
exactTime
parameter is true
and the timeStamp
parameter is
UNSPECIFIED
or equal to revision.getTimeStamp()
.
exactTime
parameter is false
and the timeStamp
parameter is between
revision.getTimeStamp()
and revision.getRevised()
.
Set<CDOID> readChangeSet(OMMonitor monitor, CDOChangeSetSegment... segments)
CDOID readResourceID(CDOID folderID, String name, CDOBranchPoint branchPoint)
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 queryResources(IStoreAccessor.QueryResourcesContext context)
void queryXRefs(IStoreAccessor.QueryXRefsContext context)
void queryLobs(List<byte[]> ids)
IDs
are known in the backend
represented by this IStoreAccessor
by removing the unknown IDs from the passed collection.
The identifier of a large object
is the SHA-1 digest of the content of this large object.
Usage context: This method is only called in the context of a commit operation of a client transaction if that transaction contains additions of or changes to large objects.
ids
- the collection of large object IDs that the unknown IDs are supposed to be removed from.void loadLob(byte[] id, OutputStream out) throws IOException
ID
to the given
stream.
The identifier of a large object
is the SHA-1 digest of the content of this large object.
id
- the ID of the large object whose content is to be written to the stream.
IOException
- if the stream could not be written to.void handleLobs(long fromTime, long toTime, CDOLobHandler handler) throws IOException
IOException
void writePackageUnits(InternalCDOPackageUnit[] packageUnits, OMMonitor monitor)
void write(InternalCommitContext context, OMMonitor monitor)
commit(OMMonitor)
or
rollback()
will be called after any numbers of
write(InternalCommitContext, OMMonitor)
.
Note: write(InternalCommitContext, OMMonitor)
and
commit(OMMonitor)
could be called from different threads.
void commit(OMMonitor monitor)
Note: write(InternalCommitContext, OMMonitor)
and
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"); }
void rollback()
write(InternalCommitContext, OMMonitor)
and rollback()
could be called from different threads.
void release()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |