org.eclipse.emf.cdo.spi.server

## Interface InternalSessionManager

- All Superinterfaces:
    IContainer<ISession>, INotifier, ISessionManager

      public interface InternalSessionManager
      extends ISessionManager

  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

      `IContainer.Modifiable<E>, IContainer.Persistable<E>, IContainer.Persistence<E>`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `authenticateUser(IAuthenticationProtocol sessionProtocol)` Challenges the connected user to authenticate the connection.
    `void` | `changeUserCredentials(IAuthenticationProtocol sessionProtocol, java.lang.String userID)` Initiates the change-credentials protocol with the client and processes the client response to update the user's credentials.
    `DiffieHellman.Server` | `getAuthenticationServer()`
    `IPermissionManager` | `getPermissionManager()`
    `InternalRepository` | `getRepository()`
    `InternalSession` | `getSession(int sessionID)`
    `InternalSession[]` | `getSessions()`
    `IUserManager` | `getUserManager()` Deprecated. As of 4.2 use `ISessionManager.getAuthenticator()`
    `void` | `openedOnClientSide(InternalSession session)`
    `InternalSession` | `openSession(ISessionProtocol sessionProtocol)`
    `void` | `resetUserCredentials(IAuthenticationProtocol sessionProtocol, java.lang.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, InternalCDOBranch branch)` Deprecated. As of 4.3 use `#sendBranchNotification(InternalSession, InternalCDOBranch, ChangeKind)`.
    `void` | `sendBranchNotification(InternalSession sender, InternalCDOBranch branch, CDOBranchChangedEvent.ChangeKind changeKind)`
    `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)`
    `java.util.List<java.lang.Integer>` | `sendRemoteMessageNotification(InternalSession sender, CDORemoteSessionMessage message, int[] recipients)`
    `void` | `sendRemoteSessionNotification(InternalSession sender, 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` | `sessionClosed(InternalSession session)`
    `void` | `setAuthenticationServer(DiffieHellman.Server authenticationServer)`
    `void` | `setPermissionManager(IPermissionManager permissionManager)`
    `void` | `setRepository(InternalRepository repository)`
    `void` | `setUserManager(IUserManager userManager)` Deprecated. As of 4.2 use `ISessionManager.setAuthenticator(IAuthenticator)`

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

      `getAuthenticator, setAuthenticator`

    - ### 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

    - #### getRepository

          InternalRepository getRepository()

      Specified by:
        `getRepository` in interface `ISessionManager`

    - #### setRepository

          void setRepository(InternalRepository repository)

    - #### getUserManager

          @Deprecated
          IUserManager getUserManager()

      Deprecated. As of 4.2 use `ISessionManager.getAuthenticator()`
      Since:
        4.1

    - #### setUserManager

          @Deprecated
          void setUserManager(IUserManager userManager)

      Deprecated. As of 4.2 use `ISessionManager.setAuthenticator(IAuthenticator)`

    - #### getAuthenticationServer

          DiffieHellman.Server getAuthenticationServer()

      Since:
        4.2

    - #### setAuthenticationServer

          void setAuthenticationServer(DiffieHellman.Server authenticationServer)

      Since:
        4.2

    - #### changeUserCredentials

          void changeUserCredentials(IAuthenticationProtocol sessionProtocol,
                                     java.lang.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,
                                    java.lang.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

          java.lang.String authenticateUser(IAuthenticationProtocol sessionProtocol)
                                     throws java.lang.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:
        `java.lang.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`

    - #### 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

          void sendBranchNotification(InternalSession sender,
                                      InternalCDOBranch branch,
                                      CDOBranchChangedEvent.ChangeKind changeKind)

      Since:
        4.3

    - #### 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

    - #### sendRemoteSessionNotification

          void sendRemoteSessionNotification(InternalSession sender,
                                             byte opcode)

    - #### sendRemoteMessageNotification

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

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