# Class ConfigurationSpi

java.lang.Object
javax.security.auth.login.ConfigurationSpi

public abstract class ConfigurationSpi extends Object
This class defines the Service Provider Interface (SPI) for the `Configuration` class. All the abstract methods in this class must be implemented by each service provider who wishes to supply a Configuration implementation.

Subclass implementations of this abstract class must provide a public constructor that takes a `Configuration.Parameters` object as an input parameter. This constructor also must throw an IllegalArgumentException if it does not understand the `Configuration.Parameters` input.

Since:
  1.6

## Constructor Summary

Constructors
Constructor
Description
`ConfigurationSpi()`
Constructor for subclasses to call.

## Method Summary

Modifier and Type
Method
Description
`protected abstract AppConfigurationEntry[]`
`engineGetAppConfigurationEntry(String name)`
Retrieve the AppConfigurationEntries for the specified `name`.
`protected void`
`engineRefresh()`
Refresh and reload the Configuration.

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
Modifier and Type
Method
Description
`protected Object`
`clone()`
Creates and returns a copy of this object.
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`protected void`
`finalize()`
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
`final Class<?>`
`getClass()`
Returns the runtime class of this `Object`.
`int`
`hashCode()`
Returns a hash code value for this object.
`final void`
`notify()`
Wakes up a single thread that is waiting on this object's monitor.
`final void`
`notifyAll()`
Wakes up all threads that are waiting on this object's monitor.
`String`
`toString()`
Returns a string representation of the object.
`final void`
`wait()`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
`final void`
`wait(long timeoutMillis)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
`final void`
`wait(long timeoutMillis, int nanos)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

## Constructor Details

### ConfigurationSpi

public ConfigurationSpi()
Constructor for subclasses to call.

## Method Details

### engineGetAppConfigurationEntry

protected abstract AppConfigurationEntry[] engineGetAppConfigurationEntry(String name)
Retrieve the AppConfigurationEntries for the specified `name`.

Parameters:
  `name` - the name used to index the Configuration.
Returns:
  an array of AppConfigurationEntries for the specified `name`, or null if there are no entries.

### engineRefresh

protected void engineRefresh()
Refresh and reload the Configuration.

This method causes this Configuration object to refresh/reload its contents in an implementation-dependent manner. For example, if this Configuration object stores its entries in a file, calling `refresh` may cause the file to be re-read.

The default implementation of this method does nothing. This method should be overridden if a refresh operation is supported by the implementation.