Package org.eclipse.emf.cdo.spi.server

# Klasse Store

java.lang.Object
org.eclipse.net4j.util.event.Notifier
org.eclipse.net4j.util.lifecycle.Lifecycle
org.eclipse.emf.cdo.spi.server.Store

Alle implementierten Schnittstellen:
  `IStore`, `InternalStore`, `org.eclipse.net4j.util.collection.Entity.Store.Provider`, `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`

Bekannte direkte Unterklassen:
  `LongIDStore`

public abstract class Store extends org.eclipse.net4j.util.lifecycle.Lifecycle implements InternalStore, org.eclipse.net4j.util.collection.Entity.Store.Provider
If the meaning of this type isn't clear, there really should be more of a description here...

Seit:
  2.0
Autor:
  Eike Stepper

## Verschachtelte Klassen - Übersicht

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.util.lifecycle.ILifecycle

`org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation`

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.util.event.INotifier

`org.eclipse.net4j.util.event.INotifier.INotifier2`

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen 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`

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.emf.cdo.server.IStore

`IStore.CanHandleClientAssignedIDs, IStore.ChangeFormat, IStore.RevisionParallelism, IStore.RevisionTemporality`

## Feldübersicht

Felder
Modifizierer und Typ
Feld
Beschreibung
`static final long`
`UNSPECIFIED_DATE`
Veraltet.
Use CDOBranchPoint.UNSPECIFIED_DATE

### Von Klasse geerbte Felder org.eclipse.net4j.util.lifecycle.Lifecycle

`USE_LABEL`

## Konstruktorübersicht

Konstruktoren
Konstruktor
Beschreibung
`Store(String type)`
`Store(String type, Set<CDOID.ObjectType> objectIDTypes, Set<IStore.ChangeFormat> supportedChangeFormats, Set<IStore.RevisionTemporality> supportedRevisionTemporalities, Set<IStore.RevisionParallelism> supportedRevisionParallelisms)`

## Methodenübersicht

Modifizierer und Typ
Methode
Beschreibung
`protected org.eclipse.net4j.util.collection.Entity`
`computeEntity(String name)`
`protected void`
`computeEntityNames(Consumer<String> consumer)`
`static IStoreAccessor.QueryResourcesContext.ExactMatch`
`createExactMatchContext(CDOID folderID, String name, CDOBranchPoint branchPoint)`
`protected abstract IStoreAccessor`
`createReader(ISession session)`
Creates and returns a new `IStoreAccessor` instance.
`InternalCDORevision`
`createRevision(EClass eClass, CDOID id)`
`protected abstract IStoreAccessor`
`createWriter(ITransaction transaction)`
Creates and returns a new `IStoreAccessor` instance.
`protected final org.eclipse.net4j.util.collection.Entity.Builder`
`entityBuilder()`
`org.eclipse.net4j.util.collection.Entity.Store`
`getEntityStore()`
`org.eclipse.net4j.util.om.monitor.ProgressDistributor`
`getIndicatingCommitDistributor()`
`int`
`getLastBranchID()`
Returns the id of the last branch that has been created in this store.
`long`
`getLastCommitTime()`
Returns the time stamp of the last successful commit operation.
`int`
`getLastLocalBranchID()`
Returns the id of the last local branch that has been created in this store.
`long`
`getLastNonLocalCommitTime()`
Returns the time stamp of the last successful commit operation to a non-local `branch`.
`int`
`getNextBranchID()`
`int`
`getNextLocalBranchID()`
`Set<CDOID.ObjectType>`
`getObjectIDTypes()`
`IStoreAccessor`
`getReader(ISession session)`
Returns a reader that can be used to read from this store in the context of the given session.
`protected abstract StoreAccessorPool`
`getReaderPool(ISession session, boolean forReleasing)`
Returns a `pool` that may contain `IStoreAccessor` instances that are compatible with the given session.
`InternalRepository`
`getRepository()`
`IStore.RevisionParallelism`
`getRevisionParallelism()`
`IStore.RevisionTemporality`
`getRevisionTemporality()`
`Set<IStore.ChangeFormat>`
`getSupportedChangeFormats()`
`final Set<IStore.RevisionParallelism>`
`getSupportedRevisionParallelisms()`
`Set<IStore.RevisionTemporality>`
`getSupportedRevisionTemporalities()`
`final String`
`getType()`
`IStoreAccessor`
`getWriter(ITransaction transaction)`
Returns a writer that can be used to write to this store in the context of the given view.
`protected abstract StoreAccessorPool`
`getWriterPool(IView view, boolean forReleasing)`
Returns a `pool` that may contain `IStoreAccessor` instances that are compatible with the given session.
`static String`
`idToString(CDOID id)`
`boolean`
`isDropAllDataOnActivate()`
`protected void`
`releaseAccessor(StoreAccessorBase accessor)`
`protected static <T> Set<T>`
`set(T... elements)`
`void`
`setDropAllDataOnActivate(boolean dropAllDataOnActivate)`
`void`
`setLastBranchID(int lastBranchID)`
`void`
`setLastCommitTime(long lastCommitTime)`
`void`
`setLastLocalBranchID(int lastLocalBranchID)`
`void`
`setLastNonLocalCommitTime(long lastNonLocalCommitTime)`
`protected void`
`setObjectIDTypes(Set<CDOID.ObjectType> objectIDTypes)`
`void`
`setRepository(IRepository repository)`
`void`
`setRevisionParallelism(IStore.RevisionParallelism revisionParallelism)`
`void`
`setRevisionTemporality(IStore.RevisionTemporality revisionTemporality)`
`static CDOID`
`stringToID(String string)`

### Von Klasse geerbte Methoden 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`

### Von Klasse geerbte Methoden org.eclipse.net4j.util.event.Notifier

`addListener, addUniqueListener, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListener, hasListeners, lastListenerRemoved, listenerAdded, listenerRemoved, removeListener`

### Von Klasse geerbte Methoden java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.util.lifecycle.ILifecycle

`activate, deactivate, getLifecycleState, isActive`

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.util.event.INotifier

`addListener, getListeners, hasListeners, removeListener`

### Von Schnittstelle geerbte Methoden org.eclipse.emf.cdo.spi.server.InternalStore

`isLocal, setCreationTime`

### Von Schnittstelle geerbte Methoden org.eclipse.emf.cdo.server.IStore

`createObjectID, getCreationTime, getPersistentProperties, isFirstStart, removePersistentProperties, setPersistentProperties`

## Felddetails

### UNSPECIFIED_DATE

@Deprecated public static final long UNSPECIFIED_DATE
Veraltet.
Use CDOBranchPoint.UNSPECIFIED_DATE

Seit:
  3.0
Siehe auch:
  - Konstantenfeldwerte

## Konstruktordetails

### Store

public Store(String type, Set<CDOID.ObjectType> objectIDTypes, Set<IStore.ChangeFormat> supportedChangeFormats, Set<IStore.RevisionTemporality> supportedRevisionTemporalities, Set<IStore.RevisionParallelism> supportedRevisionParallelisms)

Seit:
  3.0

### Store

public Store(String type)

Seit:
  4.2

## Methodendetails

### getType

public final String getType()

Angegeben von:
  `getType` in Schnittstelle `IStore`

### getObjectIDTypes

public Set<CDOID.ObjectType> getObjectIDTypes()

Angegeben von:
  `getObjectIDTypes` in Schnittstelle `IStore`
Seit:
  3.0

### setObjectIDTypes

protected void setObjectIDTypes(Set<CDOID.ObjectType> objectIDTypes)

Seit:
  4.0

### getSupportedChangeFormats

public Set<IStore.ChangeFormat> getSupportedChangeFormats()

Angegeben von:
  `getSupportedChangeFormats` in Schnittstelle `IStore`

### getSupportedRevisionTemporalities

public Set<IStore.RevisionTemporality> getSupportedRevisionTemporalities()

Angegeben von:
  `getSupportedRevisionTemporalities` in Schnittstelle `IStore`

### getSupportedRevisionParallelisms

public final Set<IStore.RevisionParallelism> getSupportedRevisionParallelisms()

Angegeben von:
  `getSupportedRevisionParallelisms` in Schnittstelle `IStore`

### getRevisionTemporality

public IStore.RevisionTemporality getRevisionTemporality()

Angegeben von:
  `getRevisionTemporality` in Schnittstelle `IStore`

### setRevisionTemporality

public void setRevisionTemporality(IStore.RevisionTemporality revisionTemporality)

Angegeben von:
  `setRevisionTemporality` in Schnittstelle `InternalStore`

### getRevisionParallelism

public IStore.RevisionParallelism getRevisionParallelism()

Angegeben von:
  `getRevisionParallelism` in Schnittstelle `IStore`

### setRevisionParallelism

public void setRevisionParallelism(IStore.RevisionParallelism revisionParallelism)

Angegeben von:
  `setRevisionParallelism` in Schnittstelle `InternalStore`

### getRepository

public InternalRepository getRepository()

Angegeben von:
  `getRepository` in Schnittstelle `InternalStore`
Angegeben von:
  `getRepository` in Schnittstelle `IStore`
Seit:
  3.0

### setRepository

public void setRepository(IRepository repository)

Angegeben von:
  `setRepository` in Schnittstelle `InternalStore`

### isDropAllDataOnActivate

public boolean isDropAllDataOnActivate()

Angegeben von:
  `isDropAllDataOnActivate` in Schnittstelle `InternalStore`
Seit:
  4.0

### setDropAllDataOnActivate

public void setDropAllDataOnActivate(boolean dropAllDataOnActivate)

Angegeben von:
  `setDropAllDataOnActivate` in Schnittstelle `InternalStore`
Seit:
  4.0

### getLastBranchID

public int getLastBranchID()
Beschreibung aus Schnittstelle kopiert: `IStore`
Returns the id of the last branch that has been created in this store.

Angegeben von:
  `getLastBranchID` in Schnittstelle `IStore`
Seit:
  3.0

### setLastBranchID

public void setLastBranchID(int lastBranchID)

Angegeben von:
  `setLastBranchID` in Schnittstelle `InternalStore`
Seit:
  3.0

### getNextBranchID

public int getNextBranchID()

Angegeben von:
  `getNextBranchID` in Schnittstelle `InternalStore`
Seit:
  3.0

### getLastLocalBranchID

public int getLastLocalBranchID()
Beschreibung aus Schnittstelle kopiert: `IStore`
Returns the id of the last local branch that has been created in this store.

Angegeben von:
  `getLastLocalBranchID` in Schnittstelle `IStore`
Seit:
  3.0

### setLastLocalBranchID

public void setLastLocalBranchID(int lastLocalBranchID)

Angegeben von:
  `setLastLocalBranchID` in Schnittstelle `InternalStore`
Seit:
  3.0

### getNextLocalBranchID

public int getNextLocalBranchID()

Angegeben von:
  `getNextLocalBranchID` in Schnittstelle `InternalStore`
Seit:
  3.0

### getLastCommitTime

public long getLastCommitTime()
Beschreibung aus Schnittstelle kopiert: `IStore`
Returns the time stamp of the last successful commit operation.

Angegeben von:
  `getLastCommitTime` in Schnittstelle `IStore`
Seit:
  3.0

### setLastCommitTime

public void setLastCommitTime(long lastCommitTime)

Angegeben von:
  `setLastCommitTime` in Schnittstelle `InternalStore`
Seit:
  3.0

### getLastNonLocalCommitTime

public long getLastNonLocalCommitTime()
Beschreibung aus Schnittstelle kopiert: `IStore`
Returns the time stamp of the last successful commit operation to a non-local `branch`.

Angegeben von:
  `getLastNonLocalCommitTime` in Schnittstelle `IStore`
Seit:
  3.0

### setLastNonLocalCommitTime

public void setLastNonLocalCommitTime(long lastNonLocalCommitTime)

Angegeben von:
  `setLastNonLocalCommitTime` in Schnittstelle `InternalStore`
Seit:
  3.0

### getReader

public IStoreAccessor getReader(ISession session)
Beschreibung aus Schnittstelle kopiert: `IStore`
Returns a reader that can be used to read from this store in the context of the given session.

Angegeben von:
  `getReader` in Schnittstelle `IStore`
Parameter:
  `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.
Gibt zurück:
  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)
Beschreibung aus Schnittstelle kopiert: `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.

Angegeben von:
  `getWriter` in Schnittstelle `IStore`
Parameter:
  `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.
Gibt zurück:
  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()

Angegeben von:
  `getIndicatingCommitDistributor` in Schnittstelle `IStore`

### createRevision

public InternalCDORevision createRevision(EClass eClass, CDOID id)

Seit:
  3.0

### getEntityStore

public org.eclipse.net4j.util.collection.Entity.Store getEntityStore()

Angegeben von:
  `getEntityStore` in Schnittstelle `org.eclipse.net4j.util.collection.Entity.Store.Provider`

### computeEntityNames

protected void computeEntityNames(Consumer<String> consumer)

Seit:
  4.22

### computeEntity

protected org.eclipse.net4j.util.collection.Entity computeEntity(String name)

Seit:
  4.22

### entityBuilder

protected final org.eclipse.net4j.util.collection.Entity.Builder entityBuilder()

Seit:
  4.22

### releaseAccessor

protected void releaseAccessor(StoreAccessorBase accessor)

Seit:
  4.0

### 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 silently without firing respective events!

Parameter:
  `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!

Parameter:
  `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.

### set

@SafeVarargs protected static <T> Set<T> set(T... elements)

### idToString

public static String idToString(CDOID id)

Seit:
  4.0

### stringToID

public static CDOID stringToID(String string)

Seit:
  4.0

### createExactMatchContext

public static IStoreAccessor.QueryResourcesContext.ExactMatch createExactMatchContext(CDOID folderID, String name, CDOBranchPoint branchPoint)

Seit:
  3.0