org.eclipse.emf.cdo.session
Interface CDOSession

All Superinterfaces:
CDOCommonSession, CDOTransactionContainer, CDOUpdatable, CDOViewContainer, Closeable, IContainer<CDOView>, INotifier, IOptionsContainer, IUserAware
All Known Subinterfaces:
CDONet4jSession, CDOSession, CDOSession, InternalCDOSession

public interface CDOSession
extends CDOCommonSession, CDOUpdatable, CDOTransactionContainer

Represents and controls the connection to a model repository in addition to the inherited view management functions.

A session has the following responsibilities:

Note that in order to retrieve, access and store objects a view is needed. The various openXYZ methods are provided for this purpose.

A session can fire the following events:

Since:
2.0
No Implement
This interface is not intended to be implemented by clients.
No Extend
This interface is not intended to be extended by clients.

Nested Class Summary
static interface CDOSession.ExceptionHandler
          Handles protocol exceptions if configured before the session has been opened.
static interface CDOSession.Options
          Encapsulates a set of notifying session configuration options.
 
Nested classes/interfaces inherited from interface org.eclipse.net4j.util.container.IContainer
IContainer.Modifiable<E>
 
Field Summary
 
Fields inherited from interface org.eclipse.emf.cdo.util.CDOUpdatable
NO_TIMEOUT
 
Method Summary
 CDOChangeSetData compareRevisions(CDOBranchPoint source, CDOBranchPoint target)
           
 CDOBranchManager getBranchManager()
          Returns the CDO branch manager that manages the branches of the repository of this session.
 CDOCommitInfoManager getCommitInfoManager()
          Returns the CDO commit info manager of this session.
 CDOSession.ExceptionHandler getExceptionHandler()
           
 CDOFetchRuleManager getFetchRuleManager()
           
 CDOIDGenerator getIDGenerator()
           
 CDOPackageRegistry getPackageRegistry()
          Returns the EMF package registry that is used by all objects of all views of this session.
 CDORemoteSessionManager getRemoteSessionManager()
          Returns the CDO remote session manager that keeps track of the other remote sessions served by the repository of this local session.
 CDORepositoryInfo getRepositoryInfo()
          Returns an instance of CDORepositoryInfo that describes the model repository this session is connected to.
 CDORevisionManager getRevisionManager()
          Returns the CDO revision manager that manages the revisions of the repository of this session.
 CDOSession.Options options()
          Returns the options of this session.
 long refresh()
          Refreshes the object caches of all (non-historical) views.
 void waitForUpdate(long updateTime)
          Equivalent to calling CDOUpdatable.waitForUpdate(long) on each of this session's views.
 boolean waitForUpdate(long updateTime, long timeoutMillis)
          Equivalent to calling CDOUpdatable.waitForUpdate(long) on each of this session's views.
 
Methods inherited from interface org.eclipse.emf.cdo.common.CDOCommonSession
getSessionID, getView, getViews
 
Methods inherited from interface org.eclipse.net4j.util.security.IUserAware
getUserID
 
Methods inherited from interface org.eclipse.net4j.util.collection.Closeable
close, isClosed
 
Methods inherited from interface org.eclipse.emf.cdo.util.CDOUpdatable
getLastUpdateTime
 
Methods inherited from interface org.eclipse.emf.cdo.transaction.CDOTransactionContainer
getTransaction, getTransactions, openTransaction, openTransaction, openTransaction, openTransaction, openTransaction, openTransaction, openTransaction, openTransaction
 
Methods inherited from interface org.eclipse.emf.cdo.view.CDOViewContainer
getView, getViews, openView, openView, openView, openView, openView, openView, openView, openView, openView, openView
 
Methods inherited from interface org.eclipse.net4j.util.container.IContainer
getElements, isEmpty
 
Methods inherited from interface org.eclipse.net4j.util.event.INotifier
addListener, getListeners, hasListeners, removeListener
 

Method Detail

getRepositoryInfo

CDORepositoryInfo getRepositoryInfo()
Returns an instance of CDORepositoryInfo that describes the model repository this session is connected to.

Since:
3.0

getPackageRegistry

CDOPackageRegistry getPackageRegistry()
Returns the EMF package registry that is used by all objects of all views of this session.

This registry is managed by the package unit manager of this session. All packages that are already persisted in the repository of this session are automatically registered with this registry. New packages can be locally registered with this registry and are committed to the repository through a transaction, if needed.


getBranchManager

CDOBranchManager getBranchManager()
Returns the CDO branch manager that manages the branches of the repository of this session.

Since:
3.0

getRevisionManager

CDORevisionManager getRevisionManager()
Returns the CDO revision manager that manages the revisions of the repository of this session.

Since:
3.0

getFetchRuleManager

CDOFetchRuleManager getFetchRuleManager()
Since:
3.0

getRemoteSessionManager

CDORemoteSessionManager getRemoteSessionManager()
Returns the CDO remote session manager that keeps track of the other remote sessions served by the repository of this local session.


getCommitInfoManager

CDOCommitInfoManager getCommitInfoManager()
Returns the CDO commit info manager of this session.

Since:
3.0

getExceptionHandler

CDOSession.ExceptionHandler getExceptionHandler()

getIDGenerator

CDOIDGenerator getIDGenerator()
Since:
4.1

refresh

long refresh()
Refreshes the object caches of all (non-historical) views.

Since:
3.0

waitForUpdate

void waitForUpdate(long updateTime)
Equivalent to calling CDOUpdatable.waitForUpdate(long) on each of this session's views. That is, this blocks the calling thread until all of this session's views have incorporated a commit operation with the given time stamp (or higher).

Specified by:
waitForUpdate in interface CDOUpdatable

waitForUpdate

boolean waitForUpdate(long updateTime,
                      long timeoutMillis)
Equivalent to calling CDOUpdatable.waitForUpdate(long) on each of this session's views. That is, this blocks the calling thread until all of this session's views have incorporated a commit operation with the given time stamp (or higher) or the given total timeout has expired.

Specified by:
waitForUpdate in interface CDOUpdatable
Returns:
true if the specified commit operation has occured within the given timeout period, false otherwise.

compareRevisions

CDOChangeSetData compareRevisions(CDOBranchPoint source,
                                  CDOBranchPoint target)
Since:
4.0

options

CDOSession.Options options()
Returns the options of this session.

Specified by:
options in interface CDOCommonSession
Specified by:
options in interface IOptionsContainer


Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.