Package org.eclipse.emf.cdo.session
Interface CDOSession
- All Superinterfaces:
CDOCommonSession,CDOTransactionContainer,CDOTransactionOpener,CDOUpdatable,CDOViewContainer,CDOViewOpener,org.eclipse.net4j.util.collection.Closeable,IAdaptable,org.eclipse.net4j.util.container.IContainer<CDOView>,org.eclipse.net4j.util.event.INotifier,org.eclipse.net4j.util.options.IOptionsContainer,org.eclipse.net4j.util.security.IPasswordCredentialsProvider.Provider,org.eclipse.net4j.util.properties.IPropertiesContainer,org.eclipse.net4j.util.security.IUserAware
- All Known Subinterfaces:
CDONet4jSession,CDOSession,InternalCDOSession
public interface CDOSession
extends CDOCommonSession, CDOUpdatable, CDOTransactionContainer, org.eclipse.net4j.util.security.IPasswordCredentialsProvider.Provider
Represents and controls the connection to a model repository in addition to the inherited
view
management functions.
A session has the following responsibilities:
-
Repository information -
Package registry -
Branch management -
Revision management -
Fetch rule management -
Commit information management -
Exception handling -
ID generation -
View management
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:
-
CDOSessionInvalidationEventaftercommit notificationshave been received and processed. -
CDOSessionLocksChangedEventafterlockshave been acquired or released. -
CDOSessionPermissionsChangedEventafterrevision permissionshave changed.
- Since:
- 2.0
- Author:
- Eike Stepper
- 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
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceHandlesprotocolexceptions ifconfiguredbefore the session has been opened.static interfaceEncapsulates a set of notifyingsessionconfiguration options.Nested classes/interfaces inherited from interface org.eclipse.net4j.util.container.IContainer
org.eclipse.net4j.util.container.IContainer.Modifiable<E extends Object>, org.eclipse.net4j.util.container.IContainer.Persistable<E extends Object>, org.eclipse.net4j.util.container.IContainer.Persistence<E extends Object>Nested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier
org.eclipse.net4j.util.event.INotifier.INotifier2 -
Field Summary
Fields inherited from interface org.eclipse.emf.cdo.util.CDOUpdatable
NO_TIMEOUT -
Method Summary
Modifier and TypeMethodDescriptionvoidDeprecated.char[]Initiates (possibly interactive) changing of credentials for the user logged in in this session.compareRevisions(CDOBranchPoint source, CDOBranchPoint target) Returns the CDObranch managerthat manages thebranchesof the repository of this session.Returns the CDOcommit info managerof this session.Returns theexception handlerof this session.Returns the CDOfetch rule managerof this session.Returns the CDOID generatorof this session.Returns the CDOremote session managerthat keeps track of the other remote sessions served by the repository of this local session.Returns an instance ofCDORepositoryInfothat describes the model repository thissessionis connected to.Returns the CDOrevision managerthat manages therevisionsof the repository of this session.newBlob(byte[] contents) newBlob(InputStream contents) options()Returns theoptionsof this session.longrefresh()Refreshes the object caches of all (non-historical)views.longvoidwaitForUpdate(long updateTime) Equivalent to callingCDOUpdatable.waitForUpdate(long)on each of this session's views.booleanwaitForUpdate(long updateTime, long timeoutMillis) Equivalent to callingCDOUpdatable.waitForUpdate(long)on each of this session's views.Methods inherited from interface org.eclipse.emf.cdo.common.CDOCommonSession
authorizeOperations, getOpeningTime, getSessionID, getView, getViewsMethods inherited from interface org.eclipse.emf.cdo.transaction.CDOTransactionContainer
getTransaction, getTransactions, getTransactions, openTransaction, openTransaction, openTransaction, openTransaction, openTransaction, openTransactionMethods inherited from interface org.eclipse.emf.cdo.transaction.CDOTransactionOpener
openTransaction, openTransactionMethods inherited from interface org.eclipse.emf.cdo.util.CDOUpdatable
getLastUpdateTime, runAfterUpdateMethods inherited from interface org.eclipse.emf.cdo.view.CDOViewContainer
getView, getViews, getViews, openView, openView, openView, openView, openView, openView, openView, openViewMethods inherited from interface org.eclipse.emf.cdo.view.CDOViewOpener
openView, openViewMethods inherited from interface org.eclipse.net4j.util.collection.Closeable
close, isClosedMethods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapterMethods inherited from interface org.eclipse.net4j.util.container.IContainer
getElements, isEmptyMethods inherited from interface org.eclipse.net4j.util.event.INotifier
addListener, getListeners, hasListeners, removeListenerMethods inherited from interface org.eclipse.net4j.util.security.IPasswordCredentialsProvider.Provider
getCredentialsProviderMethods inherited from interface org.eclipse.net4j.util.properties.IPropertiesContainer
propertiesMethods inherited from interface org.eclipse.net4j.util.security.IUserAware
getUserID
-
Method Details
-
getRepositoryInfo
CDORepositoryInfo getRepositoryInfo()Returns an instance ofCDORepositoryInfothat describes the model repository thissessionis connected to.- Since:
- 3.0
-
getPackageRegistry
CDOPackageRegistry getPackageRegistry()Returns the EMFpackage registrythat is used by allobjectsof allviewsof this session.This registry is managed by the
package unit managerof this session. Allpackagesthat 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 atransaction, if needed. -
getBranchManager
CDOBranchManager getBranchManager()Returns the CDObranch managerthat manages thebranchesof the repository of this session.- Specified by:
getBranchManagerin interfaceCDOCommonSession- Since:
- 3.0
-
getRevisionManager
CDORevisionManager getRevisionManager()Returns the CDOrevision managerthat manages therevisionsof the repository of this session.- Specified by:
getRevisionManagerin interfaceCDOCommonSession- Since:
- 3.0
-
getFetchRuleManager
CDOFetchRuleManager getFetchRuleManager()Returns the CDOfetch rule managerof this session.- Since:
- 3.0
-
getRemoteSessionManager
CDORemoteSessionManager getRemoteSessionManager()Returns the CDOremote session managerthat keeps track of the other remote sessions served by the repository of this local session. -
getCommitInfoManager
CDOCommitInfoManager getCommitInfoManager()Returns the CDOcommit info managerof this session.- Specified by:
getCommitInfoManagerin interfaceCDOCommonSession- Since:
- 3.0
-
getUserInfoManager
CDOUserInfoManager getUserInfoManager()- Since:
- 4.26
-
getExceptionHandler
CDOSession.ExceptionHandler getExceptionHandler()Returns theexception handlerof this session. -
getIDGenerator
CDOIDGenerator getIDGenerator()Returns the CDOID generatorof this session.- Since:
- 4.1
-
refresh
long refresh()Refreshes the object caches of all (non-historical)views.- Since:
- 3.0
-
refresh
- Since:
- 4.4
-
waitForUpdate
void waitForUpdate(long updateTime) Equivalent to callingCDOUpdatable.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:
waitForUpdatein interfaceCDOUpdatable- Parameters:
updateTime- the time stamp of the update to wait for in milliseconds since Unix epoch.
-
waitForUpdate
boolean waitForUpdate(long updateTime, long timeoutMillis) Equivalent to callingCDOUpdatable.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:
waitForUpdatein interfaceCDOUpdatable- Parameters:
updateTime- the time stamp of the update to wait for in milliseconds since Unix epoch.timeoutMillis- the maximum number of milliseconds to wait for the update to occur, orCDOUpdatable.NO_TIMEOUTto wait indefinitely.- Returns:
trueif the update occurred within the specified timeout period,falseotherwise.
-
compareRevisions
- Since:
- 4.0
-
changeCredentials
Deprecated.As of 4.13 usechangeServerPassword().Initiates (possibly interactive) changing of credentials for the user logged in in this session. This is an optional operation of the session.- Throws:
UnsupportedOperationException- if the session implementation does not permit changing credentials- Since:
- 4.3
- See Also:
-
IPasswordCredentialsProvider.Provider.getCredentialsProvider()
-
changeServerPassword
char[] changeServerPassword()Initiates (possibly interactive) changing of credentials for the user logged in in this session. This is an optional operation of the session.- Throws:
UnsupportedOperationException- if the session implementation does not permit changing credentials- Since:
- 4.13
- See Also:
-
IPasswordCredentialsProvider.Provider.getCredentialsProvider()
-
newClob
- Throws:
IOException- Since:
- 4.13
-
newClob
- Throws:
IOException- Since:
- 4.13
-
newBlob
- Throws:
IOException- Since:
- 4.13
-
newBlob
- Throws:
IOException- Since:
- 4.13
-
options
CDOSession.Options options()Returns theoptionsof this session.- Specified by:
optionsin interfaceCDOCommonSession- Specified by:
optionsin interfaceorg.eclipse.net4j.util.options.IOptionsContainer
-
changeServerPassword().