Package org.eclipse.net4j.util.security

# Class FileUserManager

java.lang.Object
org.eclipse.net4j.util.event.Notifier
org.eclipse.net4j.util.lifecycle.Lifecycle
org.eclipse.net4j.util.security.UserManager
org.eclipse.net4j.util.security.FileUserManager

All Implemented Interfaces:
  `INotifier`, `INotifier.INotifier2`, `IDeactivateable`, `ILifecycle`, `ILifecycle.DeferrableActivation`, `IAuthenticator`, `IUserManager`

public class FileUserManager extends UserManager

Author:
  Eike Stepper

## Nested Class Summary

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

`ILifecycle.DeferrableActivation`

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

`INotifier.INotifier2`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected String`
`fileName`

### Fields inherited from class org.eclipse.net4j.util.security.UserManager

`users`

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

`USE_LABEL`

## Constructor Summary

Constructors
Constructor
Description
`FileUserManager()`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`doBeforeActivate()`
`protected void`
`doDeactivate()`
`final File`
`getFile()`
`String`
`getFileName()`
`protected void`
`load(Map<String,char[]> users)`
`protected void`
`load(Map<String,char[]> users, InputStream stream)`
`protected File`
`resolveFile(String fileName)`
`protected void`
`save(Map<String,char[]> users)`
`protected void`
`save(Map<String,char[]> users, FileOutputStream stream)`
`void`
`setFileName(String fileName)`
Sets the name of the file to be used by this user manager.

### Methods inherited from class org.eclipse.net4j.util.security.UserManager

`addUser, authenticate, doActivate, encrypt, getPassword, removeUser`

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

`activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doAfterActivate, doBeforeDeactivate, 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`

## Field Details

### fileName

protected String fileName

## Constructor Details

### FileUserManager

public FileUserManager()

## Method Details

### getFileName

public String getFileName()

### setFileName

public void setFileName(String fileName)
Sets the name of the file to be used by this user manager.

The `file` is resolved in the following order:

1. If it starts with the path segment "@config" the subsequent path segments are interpreted as relative to the `config folder`.
2. If it is relative it is interpreted as relative to the application's current directory.
3. Otherwise it is interpreted as absolute.

Unless "-Dnet4j.security.FileUserManager.failIfFileDoesNotExist=true" is specified the resolved file is not required to exist when this user manager is activated. In this case it will be created when `addUser()` or `removeUser()` are called.

With "-Dnet4j.security.FileUserManager.fallBackToConfigFolder=true" a relative path is resolved in both the application's current folder and the config folder (in this order).

### getFile

public final File getFile()

Since:
  3.7

### resolveFile

protected File resolveFile(String fileName) throws Exception

Throws:
  `Exception`
Since:
  3.7

### doBeforeActivate

protected void doBeforeActivate() throws Exception

Overrides:
  `doBeforeActivate` in class `Lifecycle`
Throws:
  `Exception`

### doDeactivate

protected void doDeactivate() throws Exception

Overrides:
  `doDeactivate` in class `UserManager`
Throws:
  `Exception`

### load

protected void load(Map<String,char[]> users) throws IORuntimeException

Overrides:
  `load` in class `UserManager`
Throws:
  `IORuntimeException`

### load

protected void load(Map<String,char[]> users, InputStream stream) throws IOException

Throws:
  `IOException`

### save

protected void save(Map<String,char[]> users) throws IORuntimeException

Overrides:
  `save` in class `UserManager`
Throws:
  `IORuntimeException`

### save

protected void save(Map<String,char[]> users, FileOutputStream stream) throws IOException

Throws:
  `IOException`