Class PropertyDrivenIdPModule

java.lang.Object
net.shibboleth.idp.module.AbstractIdPModule
net.shibboleth.idp.module.PropertyDrivenIdPModule
All Implemented Interfaces:
IdPModule, Component, IdentifiedComponent
Direct Known Subclasses:
CoreIdPModule, PluginIdPModule

public class PropertyDrivenIdPModule
extends AbstractIdPModule
Implementation of IdPModule relying on Java Properties.
Since:
4.1.0
  • Field Details

  • Constructor Details

    • PropertyDrivenIdPModule

      public PropertyDrivenIdPModule​(@Nonnull Class<? extends IdPModule> claz) throws IOException, ModuleException
      Constructor.
      Parameters:
      claz - type of object used to locate default module.properties resource
      Throws:
      IOException - if unable to read file
      ModuleException - if the module is not in a valid state
    • PropertyDrivenIdPModule

      public PropertyDrivenIdPModule​(@Nonnull InputStream inputStream) throws IOException, ModuleException
      Constructor.
      Parameters:
      inputStream - property stream
      Throws:
      IOException - if unable to read file
      ModuleException - if the module is not in a valid state
    • PropertyDrivenIdPModule

      public PropertyDrivenIdPModule​(@Nonnull Properties properties) throws ModuleException
      Constructor.
      Parameters:
      properties - property set
      Throws:
      ModuleException - if the module is not in a valid state
  • Method Details

    • load

      protected void load() throws ModuleException
      Load module information from properties.
      Throws:
      ModuleException - on errors
    • getId

      @Nonnull @NotEmpty public String getId()
    • getName

      @Nonnull @NotEmpty public String getName​(@Nullable ModuleContext moduleContext)
      Gets module name.
      Parameters:
      moduleContext - optional context for supplying i18n input
      Returns:
      a human-readable name for the module
    • getDescription

      @Nullable @NotEmpty public String getDescription​(@Nullable ModuleContext moduleContext)
      Gets module description.
      Parameters:
      moduleContext - optional context for supplying i18n input
      Returns:
      a human-readable description for the module
    • getURL

      @Nullable @NotEmpty public String getURL()
      Gets module URL.
      Returns:
      a URL for obtaining additional information about the module
    • setURL

      public void setURL​(@Nullable @NotEmpty String url)
      Set the module URL.
      Parameters:
      url - URL to set
    • getOwnerId

      @Nullable @NotEmpty public String getOwnerId()
      Gets the plugin name of the module's owner, if the module is provided by a plugin.
      Returns:
      plugin ID, if any
    • isHttpClientRequired

      public boolean isHttpClientRequired()
      Gets whether module enablement requires access to an HttpClient.
      Returns:
      true iff enabling the module requires HTTP client
    • enable

      @Nonnull @NonnullElements public Map<IdPModule.ModuleResource,​IdPModule.ResourceResult> enable​(@Nullable ModuleContext moduleContext) throws ModuleException
      Enable the module.

      This operation MUST be idempotent.

      Specified by:
      enable in interface IdPModule
      Overrides:
      enable in class AbstractIdPModule
      Parameters:
      moduleContext - module context
      Returns:
      summary of resource results
      Throws:
      ModuleException - if not successful
    • disable

      @Nonnull @NonnullElements public Map<IdPModule.ModuleResource,​IdPModule.ResourceResult> disable​(@Nullable ModuleContext moduleContext, boolean clean) throws ModuleException
      Disable the module.

      This operation MUST be idempotent with respect to the value of the input parameter.

      Specified by:
      disable in interface IdPModule
      Overrides:
      disable in class AbstractIdPModule
      Parameters:
      moduleContext - module context
      clean - if true, the module should attempt to fully remove traces of previous use in a potentially destructive fashion
      Returns:
      summary of resource results
      Throws:
      ModuleException - if not successful