Package org.eclipse.equinox.security.storage

# Class SecurePreferencesFactory

java.lang.Object
org.eclipse.equinox.security.storage.SecurePreferencesFactory

public final class SecurePreferencesFactory extends Object
Use this class to access secure preferences. Secure preferences allow storage of data in an encrypted form.

This class is not intended to be instantiated or extended by clients.

Restriction:
  This class is not intended to be instantiated by clients.

## Constructor Summary

Constructors
Constructor
Description
`SecurePreferencesFactory()`

## Method Summary

Modifier and Type
Method
Description
`static ISecurePreferences`
`getDefault()`
Returns default secure preferences.
`static ISecurePreferences`
`open(URL location, Map options)`
Returns a secure properties corresponding to the URL locations supplied.

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

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

## Constructor Details

### SecurePreferencesFactory

public SecurePreferencesFactory()

## Method Details

### getDefault

public static ISecurePreferences getDefault()
Returns default secure preferences.

The framework will attempt to open secure preferences in a user-specific location. As a result, the information stored can be shared among all programs run by the user. The location is determined as follows:

1. "-equinox.keyring" command line arguments
2. Java's "user.home" environment variable. On Windows system it usually corresponds to the %USERPROFILE% environment variable or determined as the parent of user's desktop folder. On Unix Java usually determines it from user's entry in the password file (commonly this corresponds to $HOME environment variable);
3. if it fails, preferences will use configuration location of the current Eclipse instance.

Returns:
  default instance of secure preferences, `null` if application was unable to create secure preferences using default location

### open

public static ISecurePreferences open(URL location, Map options) throws IOException
Returns a secure properties corresponding to the URL locations supplied. If URL is `null`, a default location is used.

Note that while this method accepts URLs to account for future expandability of this API, at present the method only accepts "file" URLs that point to a directory. An `IOException` might be thrown if unsupported URL is passed to this method.

Similarly to the rest of the Equinox, URLs passed as an argument must not be encoded, meaning that spaces should stay as spaces, not as "%x20".

Parameters:
  `location` - URL pointing to the location of secure storage. At present only file URLs are supported. Pass `null` to use default location
  `options` - use to pass hints to the secure preferences implementation. Pass `null` if no options are needed. See `IProviderHints`
Returns:
  a secure preferences
Throws:
  `IOException` - if unsupported URLs types are passed in, or if location is not accessible