org.eclipse.emf.cdo.spi.server
Class Store
java.lang.Object
org.eclipse.net4j.util.event.Notifier
org.eclipse.net4j.util.lifecycle.Lifecycle
org.eclipse.emf.cdo.spi.server.Store
- All Implemented Interfaces:
- IStore, org.eclipse.net4j.util.event.INotifier, org.eclipse.net4j.util.event.INotifier.Introspection, org.eclipse.net4j.util.lifecycle.ILifecycle, org.eclipse.net4j.util.lifecycle.ILifecycle.Introspection
- Direct Known Subclasses:
- LongIDStore
public abstract class Store
- extends org.eclipse.net4j.util.lifecycle.Lifecycle
- implements IStore
- Since:
- 2.0
| Nested classes/interfaces inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle |
org.eclipse.net4j.util.lifecycle.ILifecycle.Introspection |
| Nested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier |
org.eclipse.net4j.util.event.INotifier.Introspection |
|
Field Summary |
protected static long |
CRASHED
|
| Fields inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle |
USE_LABEL |
| Methods inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle |
activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doActivate, doBeforeActivate, doBeforeDeactivate, doDeactivate, dump, getLifecycleState, isActive, isDeferredActivation, toString |
| Methods inherited from class org.eclipse.net4j.util.event.Notifier |
addListener, fireEvent, getListeners, getNotificationExecutorService, hasListeners, listenersEmptyChanged, removeListener |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
CRASHED
protected static final long CRASHED
- See Also:
- Constant Field Values
Store
public Store(java.lang.String type,
java.util.Set<IStore.ChangeFormat> supportedChangeFormats,
java.util.Set<IStore.RevisionTemporality> supportedRevisionTemporalities,
java.util.Set<IStore.RevisionParallelism> supportedRevisionParallelisms)
getType
public java.lang.String getType()
- Specified by:
getType in interface IStore
getRepository
public IRepository getRepository()
- Specified by:
getRepository in interface IStore
setRepository
public void setRepository(IRepository repository)
- Description copied from interface:
IStore
- Internal.
- Specified by:
setRepository in interface IStore
getSupportedChangeFormats
public java.util.Set<IStore.ChangeFormat> getSupportedChangeFormats()
- Specified by:
getSupportedChangeFormats in interface IStore
getSupportedRevisionTemporalities
public java.util.Set<IStore.RevisionTemporality> getSupportedRevisionTemporalities()
- Specified by:
getSupportedRevisionTemporalities in interface IStore
getSupportedRevisionParallelisms
public java.util.Set<IStore.RevisionParallelism> getSupportedRevisionParallelisms()
- Specified by:
getSupportedRevisionParallelisms in interface IStore
getRevisionTemporality
public IStore.RevisionTemporality getRevisionTemporality()
- Specified by:
getRevisionTemporality in interface IStore
setRevisionTemporality
public void setRevisionTemporality(IStore.RevisionTemporality revisionTemporality)
- Specified by:
setRevisionTemporality in interface IStore
getRevisionParallelism
public IStore.RevisionParallelism getRevisionParallelism()
- Specified by:
getRevisionParallelism in interface IStore
setRevisionParallelism
public void setRevisionParallelism(IStore.RevisionParallelism revisionParallelism)
- Specified by:
setRevisionParallelism in interface IStore
getLastMetaID
public long getLastMetaID()
setLastMetaID
public void setLastMetaID(long lastMetaID)
getNextMetaIDRange
public CDOIDMetaRange getNextMetaIDRange(int count)
- Specified by:
getNextMetaIDRange in interface IStore
getReader
public IStoreAccessor getReader(ISession session)
- Description copied from interface:
IStore
- Returns a reader that can be used to read from this store in the context of the given session.
- Specified by:
getReader in interface IStore
- Parameters:
session - The session that should be used as a context for read access or null. The store implementor
is free to interpret and use the session in a manner suitable for him or ignore it at all. It is meant
only as a hint. Implementor can use it as a key into a cache and/or register a
LifecycleEventAdapter with it to intercept
cleanup on session close. Note however that the session can be null, for example during
startup of the server while the repositories are initialized but before any user session has been opened.
- Returns:
- a reader that can be used to read from this store in the context of the given session, never
null.
getWriter
public IStoreAccessor getWriter(ITransaction transaction)
- Description copied from interface:
IStore
- Returns a writer that can be used to write to this store in the context of the given view. The given view is always
marked as a transaction.
- Specified by:
getWriter in interface IStore
- Parameters:
transaction - The view that must be used as a context for write access. The store implementor is free to interpret and
use the view in a manner suitable for him or ignore it at all. It is meant only as a hint. Implementor can
use it as a key into a cache and/or register a
LifecycleEventAdapter with it to intercept
cleanup on view close.
- Returns:
- a writer that can be used to write to this store in the context of the given view, never
null.
getIndicatingCommitDistributor
public org.eclipse.net4j.util.om.monitor.ProgressDistributor getIndicatingCommitDistributor()
- Specified by:
getIndicatingCommitDistributor in interface IStore
releaseAccessor
protected void releaseAccessor(StoreAccessor accessor)
getReaderPool
protected abstract StoreAccessorPool getReaderPool(ISession session,
boolean forReleasing)
- Returns a
pool that may contain IStoreAccessor instances that are compatible with
the given session. The implementor may return null to indicate that no pooling occurs. It's also left
to the implementors choice how to determine the appropriate pool instance to be used for the given session, for
example it could always return the same pool instance, regardless of the given session.
If the implementor of this method decides to create pools that are only compatible with certain sessions or views,
then it is his responsibility to listen to REMOVED events sent by either the
ISessionManager (indicating that a session is closed) or any of its sessions (indicating that a view is
closed). Note: Closing a session implies that all contained views are closed sliently without
firing respective events!
- Parameters:
session - The context which the pool must be compatible with. Must not be null.forReleasing - Enables lazy pool creation. The implementor is not supposed to create a new pool if false is
passed. If true is passed it's up to the implementor whether to create a new pool or not.
getWriterPool
protected abstract StoreAccessorPool getWriterPool(IView view,
boolean forReleasing)
- Returns a
pool that may contain IStoreAccessor instances that are compatible with
the given session. The implementor may return null to indicate that no pooling occurs. It's also left
to the implementors choice how to determine the appropriate pool instance to be used for the given session, for
example it could always return the same pool instance, regardless of the given session.
If the implementor of this method decides to create pools that are only compatible with certain sessions or views,
then it is his responsibility to listen to REMOVED events sent by either the
ISessionManager (indicating that a session is closed) or any of its sessions (indicating that a view is
closed). Note: Closing a session implies that all contained views are closed sliently without
firing respective events!
- Parameters:
view - The context which the pool must be compatible with. Must not be null.forReleasing - Enables lazy pool creation. The implementor is not supposed to create a new pool if false is
passed. If true is passed it's up to the implementor whether to create a new pool or not.
createReader
protected abstract IStoreAccessor createReader(ISession session)
- Creates and returns a new
IStoreAccessor instance. The caller of this method is responsible for
activating the new instance.
createWriter
protected abstract IStoreAccessor createWriter(ITransaction transaction)
- Creates and returns a new
IStoreAccessor instance. The caller of this method is responsible for
activating the new instance.
createExactMatchContext
public static IStoreAccessor.QueryResourcesContext.ExactMatch createExactMatchContext(CDOID folderID,
java.lang.String name,
long timeStamp)
set
protected static <T> java.util.Set<T> set(T... elements)