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,InternalStore,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:
LongIDStore
public abstract class Store extends org.eclipse.net4j.util.lifecycle.Lifecycle implements InternalStore
If the meaning of this type isn't clear, there really should be more of a description here...- Since:
- 2.0
- Author:
- Eike Stepper
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle
org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation
-
Nested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier
org.eclipse.net4j.util.event.INotifier.INotifier2
-
Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.spi.server.InternalStore
InternalStore.NoChangeSets, InternalStore.NoCommitInfos, InternalStore.NoDurableLocking, InternalStore.NoExternalReferences, InternalStore.NoFeatureMaps, InternalStore.NoHandleRevisions, InternalStore.NoLargeObjects, InternalStore.NoQueryXRefs, InternalStore.NoRawAccess
-
Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.server.IStore
IStore.CanHandleClientAssignedIDs, IStore.ChangeFormat, IStore.RevisionParallelism, IStore.RevisionTemporality
-
-
Field Summary
Fields Modifier and Type Field Description static longUNSPECIFIED_DATEDeprecated.Use CDOBranchPoint.UNSPECIFIED_DATE
-
Constructor Summary
Constructors Constructor Description Store(java.lang.String type)Store(java.lang.String type, java.util.Set<CDOID.ObjectType> objectIDTypes, java.util.Set<IStore.ChangeFormat> supportedChangeFormats, java.util.Set<IStore.RevisionTemporality> supportedRevisionTemporalities, java.util.Set<IStore.RevisionParallelism> supportedRevisionParallelisms)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static IStoreAccessor.QueryResourcesContext.ExactMatchcreateExactMatchContext(CDOID folderID, java.lang.String name, CDOBranchPoint branchPoint)protected abstract IStoreAccessorcreateReader(ISession session)Creates and returns a newIStoreAccessorinstance.InternalCDORevisioncreateRevision(org.eclipse.emf.ecore.EClass eClass, CDOID id)protected abstract IStoreAccessorcreateWriter(ITransaction transaction)Creates and returns a newIStoreAccessorinstance.org.eclipse.net4j.util.om.monitor.ProgressDistributorgetIndicatingCommitDistributor()intgetLastBranchID()Returns the id of the last branch that has been created in this store.longgetLastCommitTime()Returns the time stamp of the last successful commit operation.intgetLastLocalBranchID()Returns the id of the last local branch that has been created in this store.longgetLastNonLocalCommitTime()Returns the time stamp of the last successful commit operation to a non-localbranch.intgetNextBranchID()intgetNextLocalBranchID()java.util.Set<CDOID.ObjectType>getObjectIDTypes()IStoreAccessorgetReader(ISession session)Returns a reader that can be used to read from this store in the context of the given session.protected abstract StoreAccessorPoolgetReaderPool(ISession session, boolean forReleasing)Returns apoolthat may containIStoreAccessorinstances that are compatible with the given session.InternalRepositorygetRepository()IStore.RevisionParallelismgetRevisionParallelism()IStore.RevisionTemporalitygetRevisionTemporality()java.util.Set<IStore.ChangeFormat>getSupportedChangeFormats()java.util.Set<IStore.RevisionParallelism>getSupportedRevisionParallelisms()java.util.Set<IStore.RevisionTemporality>getSupportedRevisionTemporalities()java.lang.StringgetType()IStoreAccessorgetWriter(ITransaction transaction)Returns a writer that can be used to write to this store in the context of the given view.protected abstract StoreAccessorPoolgetWriterPool(IView view, boolean forReleasing)Returns apoolthat may containIStoreAccessorinstances that are compatible with the given session.static java.lang.StringidToString(CDOID id)booleanisDropAllDataOnActivate()protected voidreleaseAccessor(StoreAccessorBase accessor)protected static <T> java.util.Set<T>set(T... elements)voidsetDropAllDataOnActivate(boolean dropAllDataOnActivate)voidsetLastBranchID(int lastBranchID)voidsetLastCommitTime(long lastCommitTime)voidsetLastLocalBranchID(int lastLocalBranchID)voidsetLastNonLocalCommitTime(long lastNonLocalCommitTime)protected voidsetObjectIDTypes(java.util.Set<CDOID.ObjectType> objectIDTypes)voidsetRepository(IRepository repository)voidsetRevisionParallelism(IStore.RevisionParallelism revisionParallelism)voidsetRevisionTemporality(IStore.RevisionTemporality revisionTemporality)static CDOIDstringToID(java.lang.String string)-
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, toString
-
Methods inherited from class org.eclipse.net4j.util.event.Notifier
addListener, addUniqueListener, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListener, hasListeners, lastListenerRemoved, listenerAdded, listenerRemoved, removeListener
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle
activate, deactivate, getLifecycleState, isActive
-
Methods inherited from interface org.eclipse.net4j.util.event.INotifier
addListener, getListeners, hasListeners, removeListener
-
Methods inherited from interface org.eclipse.emf.cdo.spi.server.InternalStore
isLocal, setCreationTime
-
Methods inherited from interface org.eclipse.emf.cdo.server.IStore
createObjectID, getCreationTime, getPersistentProperties, isFirstStart, removePersistentProperties, setPersistentProperties
-
-
-
-
Field Detail
-
UNSPECIFIED_DATE
@Deprecated public static final long UNSPECIFIED_DATE
Deprecated.Use CDOBranchPoint.UNSPECIFIED_DATE- Since:
- 3.0
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Store
public Store(java.lang.String type, java.util.Set<CDOID.ObjectType> objectIDTypes, java.util.Set<IStore.ChangeFormat> supportedChangeFormats, java.util.Set<IStore.RevisionTemporality> supportedRevisionTemporalities, java.util.Set<IStore.RevisionParallelism> supportedRevisionParallelisms)- Since:
- 3.0
-
Store
public Store(java.lang.String type)
- Since:
- 4.2
-
-
Method Detail
-
getObjectIDTypes
public java.util.Set<CDOID.ObjectType> getObjectIDTypes()
- Specified by:
getObjectIDTypesin interfaceIStore- Since:
- 3.0
-
setObjectIDTypes
protected void setObjectIDTypes(java.util.Set<CDOID.ObjectType> objectIDTypes)
- Since:
- 4.0
-
getSupportedChangeFormats
public java.util.Set<IStore.ChangeFormat> getSupportedChangeFormats()
- Specified by:
getSupportedChangeFormatsin interfaceIStore
-
getSupportedRevisionTemporalities
public java.util.Set<IStore.RevisionTemporality> getSupportedRevisionTemporalities()
- Specified by:
getSupportedRevisionTemporalitiesin interfaceIStore
-
getSupportedRevisionParallelisms
public final java.util.Set<IStore.RevisionParallelism> getSupportedRevisionParallelisms()
- Specified by:
getSupportedRevisionParallelismsin interfaceIStore
-
getRevisionTemporality
public IStore.RevisionTemporality getRevisionTemporality()
- Specified by:
getRevisionTemporalityin interfaceIStore
-
setRevisionTemporality
public void setRevisionTemporality(IStore.RevisionTemporality revisionTemporality)
- Specified by:
setRevisionTemporalityin interfaceInternalStore
-
getRevisionParallelism
public IStore.RevisionParallelism getRevisionParallelism()
- Specified by:
getRevisionParallelismin interfaceIStore
-
setRevisionParallelism
public void setRevisionParallelism(IStore.RevisionParallelism revisionParallelism)
- Specified by:
setRevisionParallelismin interfaceInternalStore
-
getRepository
public InternalRepository getRepository()
- Specified by:
getRepositoryin interfaceInternalStore- Specified by:
getRepositoryin interfaceIStore- Since:
- 3.0
-
setRepository
public void setRepository(IRepository repository)
- Specified by:
setRepositoryin interfaceInternalStore
-
isDropAllDataOnActivate
public boolean isDropAllDataOnActivate()
- Specified by:
isDropAllDataOnActivatein interfaceInternalStore- Since:
- 4.0
-
setDropAllDataOnActivate
public void setDropAllDataOnActivate(boolean dropAllDataOnActivate)
- Specified by:
setDropAllDataOnActivatein interfaceInternalStore- Since:
- 4.0
-
getLastBranchID
public int getLastBranchID()
Description copied from interface:IStoreReturns the id of the last branch that has been created in this store.- Specified by:
getLastBranchIDin interfaceIStore- Since:
- 3.0
-
setLastBranchID
public void setLastBranchID(int lastBranchID)
- Specified by:
setLastBranchIDin interfaceInternalStore- Since:
- 3.0
-
getNextBranchID
public int getNextBranchID()
- Specified by:
getNextBranchIDin interfaceInternalStore- Since:
- 3.0
-
getLastLocalBranchID
public int getLastLocalBranchID()
Description copied from interface:IStoreReturns the id of the last local branch that has been created in this store.- Specified by:
getLastLocalBranchIDin interfaceIStore- Since:
- 3.0
-
setLastLocalBranchID
public void setLastLocalBranchID(int lastLocalBranchID)
- Specified by:
setLastLocalBranchIDin interfaceInternalStore- Since:
- 3.0
-
getNextLocalBranchID
public int getNextLocalBranchID()
- Specified by:
getNextLocalBranchIDin interfaceInternalStore- Since:
- 3.0
-
getLastCommitTime
public long getLastCommitTime()
Description copied from interface:IStoreReturns the time stamp of the last successful commit operation.- Specified by:
getLastCommitTimein interfaceIStore- Since:
- 3.0
-
setLastCommitTime
public void setLastCommitTime(long lastCommitTime)
- Specified by:
setLastCommitTimein interfaceInternalStore- Since:
- 3.0
-
getLastNonLocalCommitTime
public long getLastNonLocalCommitTime()
Description copied from interface:IStoreReturns the time stamp of the last successful commit operation to a non-localbranch.- Specified by:
getLastNonLocalCommitTimein interfaceIStore- Since:
- 3.0
-
setLastNonLocalCommitTime
public void setLastNonLocalCommitTime(long lastNonLocalCommitTime)
- Specified by:
setLastNonLocalCommitTimein interfaceInternalStore- Since:
- 3.0
-
getReader
public IStoreAccessor getReader(ISession session)
Description copied from interface:IStoreReturns a reader that can be used to read from this store in the context of the given session.- Specified by:
getReaderin interfaceIStore- Parameters:
session- The session that should be used as a context for read access ornull. 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 aLifecycleEventAdapterwith it to intercept cleanup on session close. Note however that the session can benull, 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:IStoreReturns 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:
getWriterin interfaceIStore- 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 aLifecycleEventAdapterwith 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:
getIndicatingCommitDistributorin interfaceIStore
-
createRevision
public InternalCDORevision createRevision(org.eclipse.emf.ecore.EClass eClass, CDOID id)
- Since:
- 3.0
-
releaseAccessor
protected void releaseAccessor(StoreAccessorBase accessor)
- Since:
- 4.0
-
getReaderPool
protected abstract StoreAccessorPool getReaderPool(ISession session, boolean forReleasing)
Returns apoolthat may containIStoreAccessorinstances that are compatible with the given session. The implementor may returnnullto 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
REMOVEDevents sent by either theISessionManager(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 benull.forReleasing- Enables lazy pool creation. The implementor is not supposed to create a new pool iffalseis passed. Iftrueis 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 apoolthat may containIStoreAccessorinstances that are compatible with the given session. The implementor may returnnullto 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
REMOVEDevents sent by either theISessionManager(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 benull.forReleasing- Enables lazy pool creation. The implementor is not supposed to create a new pool iffalseis passed. Iftrueis 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 newIStoreAccessorinstance. The caller of this method is responsible foractivatingthe new instance.
-
createWriter
protected abstract IStoreAccessor createWriter(ITransaction transaction)
Creates and returns a newIStoreAccessorinstance. The caller of this method is responsible foractivatingthe new instance.
-
set
@SafeVarargs protected static <T> java.util.Set<T> set(T... elements)
-
idToString
public static java.lang.String idToString(CDOID id)
- Since:
- 4.0
-
stringToID
public static CDOID stringToID(java.lang.String string)
- Since:
- 4.0
-
createExactMatchContext
public static IStoreAccessor.QueryResourcesContext.ExactMatch createExactMatchContext(CDOID folderID, java.lang.String name, CDOBranchPoint branchPoint)
- Since:
- 3.0
-
-