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

## Class RepositoryUserManager

- java.lang.Object
- - org.eclipse.net4j.util.event.Notifier
  - - org.eclipse.net4j.util.lifecycle.Lifecycle
    - - org.eclipse.emf.cdo.spi.server.RepositoryUserManager

- All Implemented Interfaces:
    `org.eclipse.net4j.util.event.INotifier`, `org.eclipse.net4j.util.event.INotifier.INotifier2`, `org.eclipse.net4j.util.lifecycle.IDeactivateable`, `org.eclipse.net4j.util.lifecycle.ILifecycle`, `org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation`, `org.eclipse.net4j.util.security.IAuthenticator`, `org.eclipse.net4j.util.security.IUserManager`

      public abstract class RepositoryUserManager
      extends org.eclipse.net4j.util.lifecycle.Lifecycle
      implements org.eclipse.net4j.util.security.IUserManager, org.eclipse.net4j.util.security.IAuthenticator

  If the meaning of this type isn't clear, there really should be more of a description here...
  Since:
    4.0
  Author:
    Eike Stepper

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `RepositoryUserManager.RepositoryAuthenticatorFactory` | If the meaning of this type isn't clear, there really should be more of a description here...
    `static class` | `RepositoryUserManager.RepositoryInjector` | If the meaning of this type isn't clear, there really should be more of a description here...
    `static class` | `RepositoryUserManager.RepositoryUserManagerFactory` | If the meaning of this type isn't clear, there really should be more of a description here...

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle

      `org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation`

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier

      `org.eclipse.net4j.util.event.INotifier.INotifier2`

  - ### Field Summary

    - ### Fields inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle

      `USE_LABEL`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `RepositoryUserManager()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addUser​(java.lang.String userID, char[] password)` |
    `void` | `authenticate​(java.lang.String userID, char[] password)` |
    `byte[]` | `encrypt​(java.lang.String userID, byte[] data, java.lang.String algorithmName, byte[] salt, int count)` |
    `protected char[]` | `getPassword​(java.lang.String userID)` |
    `protected abstract char[]` | `getPassword​(IRepository repository, java.lang.String userID)` |
    `protected IRepository` | `getRepository​(org.eclipse.net4j.util.container.IManagedContainer container, java.lang.String repositoryName)` |
    `static void` | `prepareContainer​(org.eclipse.net4j.util.container.IManagedContainer container, RepositoryUserManager.RepositoryUserManagerFactory factory)` |
    `void` | `removeUser​(java.lang.String userID)` |

    - ### Methods inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle

      `activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doActivate, doAfterActivate, doBeforeActivate, doBeforeDeactivate, doDeactivate, dump, getLifecycleState, isActive, isDeferredActivation, toString`

    - ### Methods inherited from class org.eclipse.net4j.util.event.Notifier

      `addListener, addUniqueListener, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListener, hasListeners, lastListenerRemoved, listenerAdded, listenerRemoved, removeListener`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

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

      `addListener, getListeners, hasListeners, removeListener`

- - ### Constructor Detail

    - #### RepositoryUserManager

          protected RepositoryUserManager()

  - ### Method Detail

    - #### addUser

          public void addUser​(java.lang.String userID,
                              char[] password)

      Specified by:
        `addUser` in interface `org.eclipse.net4j.util.security.IUserManager`

    - #### removeUser

          public void removeUser​(java.lang.String userID)

      Specified by:
        `removeUser` in interface `org.eclipse.net4j.util.security.IUserManager`

    - #### encrypt

          public byte[] encrypt​(java.lang.String userID,
                                byte[] data,
                                java.lang.String algorithmName,
                                byte[] salt,
                                int count)
                         throws java.lang.SecurityException

      Specified by:
        `encrypt` in interface `org.eclipse.net4j.util.security.IUserManager`
      Throws:
        `java.lang.SecurityException`

    - #### authenticate

          public void authenticate​(java.lang.String userID,
                                   char[] password)
                            throws java.lang.SecurityException

      Specified by:
        `authenticate` in interface `org.eclipse.net4j.util.security.IAuthenticator`
      Throws:
        `java.lang.SecurityException`
      Since:
        4.2

    - #### getRepository

          protected IRepository getRepository​(org.eclipse.net4j.util.container.IManagedContainer container,
                                              java.lang.String repositoryName)

    - #### getPassword

          protected char[] getPassword​(java.lang.String userID)

      Since:
        4.2

    - #### getPassword

          protected abstract char[] getPassword​(IRepository repository,
                                                java.lang.String userID)

    - #### prepareContainer

          public static void prepareContainer​(org.eclipse.net4j.util.container.IManagedContainer container,
                                              RepositoryUserManager.RepositoryUserManagerFactory factory)