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 class org.eclipse.net4j.util.event.Notifier

`org.eclipse.net4j.util.event.Notifier.Cancelation`

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

Modifier and Type
Method
Description
`void`
`addUser(String userID, char[] password)`
`void`
`authenticate(String userID, char[] password)`
`byte[]`
`encrypt(String userID, byte[] data, String algorithmName, byte[] salt, int count)`
`protected char[]`
`getPassword(String userID)`
`protected abstract char[]`
`getPassword(IRepository repository, String userID)`
`protected IRepository`
`getRepository(org.eclipse.net4j.util.container.IManagedContainer container, String repositoryName)`
`static void`
`prepareContainer(org.eclipse.net4j.util.container.IManagedContainer container, RepositoryUserManager.RepositoryUserManagerFactory factory)`
`void`
`removeUser(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 Details

### RepositoryUserManager

protected RepositoryUserManager()

## Method Details

### addUser

public void addUser(String userID, char[] password)

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

### removeUser

public void removeUser(String userID)

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

### encrypt

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

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

### authenticate

public void authenticate(String userID, char[] password) throws SecurityException

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

### getRepository

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

### getPassword

protected char[] getPassword(String userID)

Since:
  4.2

### getPassword

protected abstract char[] getPassword(IRepository repository, String userID)

### prepareContainer

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