public interface CDOSession extends CDOCommonSession, CDOUpdatable, CDOTransactionContainer, IPasswordCredentialsProvider.Provider
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:
CDOSessionInvalidationEvent
after commit notifications
have been received and processed.
CDOSessionLocksChangedEvent
after locks
have been acquired or released.
CDORepositoryInfo
, CDOPackageRegistry
, CDOBranchManager
, CDORevisionManager
, CDOFetchRuleManager
, CDORemoteSessionManager
, CDOCommitInfoManager
, CDOIDGenerator
, CDOSession.Options
, CDOSession.ExceptionHandler
, CDOSession.ExceptionHandler
CDOSessionInvalidationEvent
- - fires, CDOSessionLocksChangedEvent
- - firesCDOView
- - views, CDOTransaction
- - transactionsModifier and Type | Interface and Description |
---|---|
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. |
IContainer.Modifiable<E>, IContainer.Persistable<E>, IContainer.Persistence<E>
NO_TIMEOUT
Modifier and Type | Method and Description |
---|---|
void |
changeCredentials()
Initiates (possibly interactive) changing of credentials for the user logged in in this session.
|
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()
Returns the
exception handler of this session. |
CDOFetchRuleManager |
getFetchRuleManager()
Returns the CDO
fetch rule manager of this session. |
CDOIDGenerator |
getIDGenerator()
Returns the CDO
ID generator of this session. |
CDOPackageRegistry |
getPackageRegistry()
|
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 . |
long |
refresh(CDOSessionProtocol.RefreshSessionResult.Provider provider) |
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. |
getSessionID, getView, getViews
getAdapter
getUserID
properties
getLastUpdateTime, runAfterUpdate
getTransaction, getTransactions, getTransactions, openTransaction, openTransaction, openTransaction, openTransaction, openTransaction, openTransaction
getView, getViews, getViews, openView, openView, openView, openView, openView, openView, openView, openView
getElements, isEmpty
addListener, getListeners, hasListeners, removeListener
openView, openView
openTransaction, openTransaction
getCredentialsProvider
CDORepositoryInfo getRepositoryInfo()
CDORepositoryInfo
that describes the model repository this session
is connected to.CDOPackageRegistry getPackageRegistry()
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.
CDOBranchManager getBranchManager()
branch manager
that manages the branches
of the
repository of this session.CDORevisionManager getRevisionManager()
revision manager
that manages the revisions
of the
repository of this session.CDOFetchRuleManager getFetchRuleManager()
fetch rule manager
of this session.CDORemoteSessionManager getRemoteSessionManager()
remote session manager
that keeps track of the other remote
sessions served by the repository of this local session.CDOCommitInfoManager getCommitInfoManager()
commit info manager
of this session.CDOSession.ExceptionHandler getExceptionHandler()
exception handler
of this session.CDOIDGenerator getIDGenerator()
ID generator
of this session.long refresh()
views
.long refresh(CDOSessionProtocol.RefreshSessionResult.Provider provider)
void waitForUpdate(long updateTime)
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).waitForUpdate
in interface CDOUpdatable
boolean waitForUpdate(long updateTime, long timeoutMillis)
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.waitForUpdate
in interface CDOUpdatable
true
if the specified commit operation has occured within the given timeout period,
false
otherwise.CDOChangeSetData compareRevisions(CDOBranchPoint source, CDOBranchPoint target)
void changeCredentials()
UnsupportedOperationException
- if the session implementation does not permit changing credentialsIPasswordCredentialsProvider.Provider.getCredentialsProvider()
CDOSession.Options options()
options
of this session.options
in interface CDOCommonSession
options
in interface IOptionsContainer
Copyright (c) 2014 Eike Stepper (Berlin, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html