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

# Interface InternalSessionManager

All Superinterfaces:
  `org.eclipse.net4j.util.container.IContainer<ISession>`, `org.eclipse.net4j.util.concurrent.IExecutorServiceProvider`, `org.eclipse.net4j.util.event.INotifier`, `ISessionManager`

public interface InternalSessionManager extends ISessionManager, org.eclipse.net4j.util.concurrent.IExecutorServiceProvider
If the meaning of this type isn't clear, there really should be more of a description here...

Since:
  3.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 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`

## Method Summary

Modifier and Type
Method
Description
`String`
`authenticateUser(IAuthenticationProtocol sessionProtocol)`
Challenges the connected user to authenticate the connection.
`void`
`changeUserCredentials(IAuthenticationProtocol sessionProtocol, String userID)`
Initiates the change-credentials protocol with the client and processes the client response to update the user's credentials.
`org.eclipse.net4j.util.security.DiffieHellman.Server`
`getAuthenticationServer()`
`IPermissionManager`
`getPermissionManager()`
`InternalRepository`
`getRepository()`
`InternalSession`
`getSession(int sessionID)`
`InternalSession[]`
`getSessions()`
`InternalTopicManager`
`getTopicManager()`
`org.eclipse.net4j.util.security.IUserManager`
`getUserManager()`
Deprecated.
As of 4.2 use `ISessionManager.getAuthenticator()`
`void`
`openedOnClientSide(InternalSession session)`
`InternalSession`
`openSession(ISessionProtocol sessionProtocol)`
`InternalSession`
`openSession(ISessionProtocol protocol, int sessionID)`
`void`
`resetUserCredentials(IAuthenticationProtocol sessionProtocol, String userID)`
Initiates the administrative reset-credentials protocol with the client and processes the client response to reset the specified `userID`'s credentials.
`void`
`sendBranchNotification(InternalSession sender, CDOBranchChangedEvent.ChangeKind changeKind, CDOBranch... branches)`
`void`
`sendBranchNotification(InternalSession sender, InternalCDOBranch branch)`
Deprecated.
As of 4.3 use `sendBranchNotification(InternalSession, InternalCDOBranch, ChangeKind)`.
`void`
`sendBranchNotification(InternalSession sender, InternalCDOBranch branch, CDOBranchChangedEvent.ChangeKind changeKind)`
Deprecated.
As of 4.15 use `sendBranchNotification(InternalSession, ChangeKind, CDOBranch...)`.
`void`
`sendCommitNotification(CDOProtocol.CommitNotificationInfo info)`
`void`
`sendCommitNotification(InternalSession sender, CDOCommitInfo commitInfo)`
Deprecated.
As of 4.2 use `sendCommitNotification(InternalSession, CDOCommitInfo, boolean)`.
`void`
`sendCommitNotification(InternalSession sender, CDOCommitInfo commitInfo, boolean clearResourcePathCache)`
Deprecated.
As of 4.3 use `sendCommitNotification(ISessionProtocol.CommitNotificationInfo)`.
`void`
`sendLockNotification(InternalSession sender, CDOLockChangeInfo lockChangeInfo)`
`void`
`sendLockOwnerRemappedNotification(InternalSession sender, CDOBranch branch, CDOLockOwner oldOwner, CDOLockOwner newOwner)`
`List<Integer>`
`sendRemoteMessageNotification(InternalSession sender, CDORemoteSessionMessage message, int[] recipients)`
`List<Integer>`
`sendRemoteMessageNotification(InternalSession sender, CDORemoteSessionMessage message, InternalTopic topic)`
`void`
`sendRemoteSessionNotification(InternalSession sender, byte opcode)`
`void`
`sendRemoteSessionNotification(InternalSession sender, Collection<InternalSession> recipients, InternalTopic topic, byte opcode)`
`void`
`sendRepositoryStateNotification(CDOCommonRepository.State oldState, CDOCommonRepository.State newState)`
Deprecated.
use `sendRepositoryStateNotification(org.eclipse.emf.cdo.common.CDOCommonRepository.State, org.eclipse.emf.cdo.common.CDOCommonRepository.State, CDOID)` instead
`void`
`sendRepositoryStateNotification(CDOCommonRepository.State oldState, CDOCommonRepository.State newState, CDOID rootResourceID)`
`void`
`sendRepositoryTypeNotification(CDOCommonRepository.Type oldType, CDOCommonRepository.Type newType)`
`void`
`sendTagNotification(InternalSession sender, int modCount, String oldName, String newName, CDOBranchPoint branchPoint)`
`void`
`sessionClosed(InternalSession session)`
`void`
`setAuthenticationServer(org.eclipse.net4j.util.security.DiffieHellman.Server authenticationServer)`
`void`
`setPermissionManager(IPermissionManager permissionManager)`
`void`
`setRepository(InternalRepository repository)`
`void`
`setUserManager(org.eclipse.net4j.util.security.IUserManager userManager)`
Deprecated.
As of 4.2 use `ISessionManager.setAuthenticator(IAuthenticator)`

### Methods inherited from interface org.eclipse.net4j.util.container.IContainer

`getElements, isEmpty`

### Methods inherited from interface org.eclipse.net4j.util.concurrent.IExecutorServiceProvider

`getExecutorService`

### Methods inherited from interface org.eclipse.net4j.util.event.INotifier

`addListener, getListeners, hasListeners, removeListener`

### Methods inherited from interface org.eclipse.emf.cdo.server.ISessionManager

`getAuthenticator, setAuthenticator`

## Method Details

### getRepository

InternalRepository getRepository()

Specified by:
  `getRepository` in interface `ISessionManager`

### setRepository

void setRepository(InternalRepository repository)

### getTopicManager

InternalTopicManager getTopicManager()

Specified by:
  `getTopicManager` in interface `ISessionManager`
Since:
  4.17

### getUserManager

@Deprecated org.eclipse.net4j.util.security.IUserManager getUserManager()
Deprecated.
As of 4.2 use `ISessionManager.getAuthenticator()`

Since:
  4.1

### setUserManager

@Deprecated void setUserManager(org.eclipse.net4j.util.security.IUserManager userManager)
Deprecated.
As of 4.2 use `ISessionManager.setAuthenticator(IAuthenticator)`

### getAuthenticationServer

org.eclipse.net4j.util.security.DiffieHellman.Server getAuthenticationServer()

Since:
  4.2

### setAuthenticationServer

void setAuthenticationServer(org.eclipse.net4j.util.security.DiffieHellman.Server authenticationServer)

Since:
  4.2

### changeUserCredentials

void changeUserCredentials(IAuthenticationProtocol sessionProtocol, String userID)
Initiates the change-credentials protocol with the client and processes the client response to update the user's credentials.

Since:
  4.3

### resetUserCredentials

void resetUserCredentials(IAuthenticationProtocol sessionProtocol, String userID)
Initiates the administrative reset-credentials protocol with the client and processes the client response to reset the specified `userID`'s credentials.

Since:
  4.3

### authenticateUser

String authenticateUser(IAuthenticationProtocol sessionProtocol) throws SecurityException
Challenges the connected user to authenticate the connection.

Parameters:
  `sessionProtocol` - the authenticatable session protocol
Returns:
  the user ID with which the user authenticated herself, or `null` if the server does not require authentication for this connection
Throws:
  `SecurityException` - on failure to authenticate
Since:
  4.3

### getPermissionManager

IPermissionManager getPermissionManager()

Since:
  4.1

### setPermissionManager

void setPermissionManager(IPermissionManager permissionManager)

Since:
  4.1

### getSessions

InternalSession[] getSessions()

Specified by:
  `getSessions` in interface `ISessionManager`

### getSession

InternalSession getSession(int sessionID)

Specified by:
  `getSession` in interface `ISessionManager`

### openSession

InternalSession openSession(ISessionProtocol sessionProtocol)

Returns:
  Never `null`

### openSession

InternalSession openSession(ISessionProtocol protocol, int sessionID)

Returns:
  Never `null`
Since:
  4.14

### sessionClosed

void sessionClosed(InternalSession session)

### openedOnClientSide

void openedOnClientSide(InternalSession session)

Since:
  4.5

### sendRepositoryTypeNotification

void sendRepositoryTypeNotification(CDOCommonRepository.Type oldType, CDOCommonRepository.Type newType)

### sendRepositoryStateNotification

@Deprecated void sendRepositoryStateNotification(CDOCommonRepository.State oldState, CDOCommonRepository.State newState)
Deprecated.
use `sendRepositoryStateNotification(org.eclipse.emf.cdo.common.CDOCommonRepository.State, org.eclipse.emf.cdo.common.CDOCommonRepository.State, CDOID)` instead

### sendRepositoryStateNotification

void sendRepositoryStateNotification(CDOCommonRepository.State oldState, CDOCommonRepository.State newState, CDOID rootResourceID)

Since:
  4.1

### sendBranchNotification

@Deprecated void sendBranchNotification(InternalSession sender, InternalCDOBranch branch)
Deprecated.
As of 4.3 use `sendBranchNotification(InternalSession, InternalCDOBranch, ChangeKind)`.

### sendBranchNotification

@Deprecated void sendBranchNotification(InternalSession sender, InternalCDOBranch branch, CDOBranchChangedEvent.ChangeKind changeKind)
Deprecated.
As of 4.15 use `sendBranchNotification(InternalSession, ChangeKind, CDOBranch...)`.

Since:
  4.3

### sendBranchNotification

void sendBranchNotification(InternalSession sender, CDOBranchChangedEvent.ChangeKind changeKind, CDOBranch... branches)

Since:
  4.15

### sendTagNotification

void sendTagNotification(InternalSession sender, int modCount, String oldName, String newName, CDOBranchPoint branchPoint)

Since:
  4.10

### sendCommitNotification

@Deprecated void sendCommitNotification(InternalSession sender, CDOCommitInfo commitInfo)
Deprecated.
As of 4.2 use `sendCommitNotification(InternalSession, CDOCommitInfo, boolean)`.

### sendCommitNotification

@Deprecated void sendCommitNotification(InternalSession sender, CDOCommitInfo commitInfo, boolean clearResourcePathCache)
Deprecated.
As of 4.3 use `sendCommitNotification(ISessionProtocol.CommitNotificationInfo)`.

Since:
  4.2

### sendCommitNotification

void sendCommitNotification(CDOProtocol.CommitNotificationInfo info)

Since:
  4.3

### sendLockNotification

void sendLockNotification(InternalSession sender, CDOLockChangeInfo lockChangeInfo)

Since:
  4.1

### sendLockOwnerRemappedNotification

void sendLockOwnerRemappedNotification(InternalSession sender, CDOBranch branch, CDOLockOwner oldOwner, CDOLockOwner newOwner)

Since:
  4.19

### sendRemoteSessionNotification

void sendRemoteSessionNotification(InternalSession sender, byte opcode)

### sendRemoteSessionNotification

void sendRemoteSessionNotification(InternalSession sender, Collection<InternalSession> recipients, InternalTopic topic, byte opcode)

Since:
  4.17

### sendRemoteMessageNotification

List<Integer> sendRemoteMessageNotification(InternalSession sender, CDORemoteSessionMessage message, int[] recipients)

### sendRemoteMessageNotification

List<Integer> sendRemoteMessageNotification(InternalSession sender, CDORemoteSessionMessage message, InternalTopic topic)

Since:
  4.17