Module java.base
Package javax.security.auth.login

## 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()` |

  - ### 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 java.lang.Object

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

- - ### Constructor Detail

    - #### ConfigurationSpi

          public ConfigurationSpi()

  - ### Method Detail

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

      Throws:
        `SecurityException` - if the caller does not have permission to refresh its Configuration.