Package org.apache.catalina.core

## Class PropertiesRoleMappingListener

- java.lang.Object
- - org.apache.catalina.core.PropertiesRoleMappingListener

- All Implemented Interfaces:
    `LifecycleListener`

      public class PropertiesRoleMappingListener
      extends Object
      implements LifecycleListener

  Implementation of `LifecycleListener` that will populate the context's role mapping from a properties file.

  This listener must only be nested within `Context` elements.

  The keys represent application roles (e.g., admin, user, uservisor, etc.) while the values represent technical roles (e.g., DNs, SIDs, UUIDs, etc.). A key can also be prefixed if, e.g., the properties file contains generic application configuration as well: `app-roles.`.

  Note: The default value for the `roleMappingFile` is `webapp:/WEB-INF/role-mapping.properties`.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PropertiesRoleMappingListener()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `getKeyPrefix()` | Gets the prefix to filter from property keys.
    `String` | `getRoleMappingFile()` | Gets the path to the role mapping properties file.
    `void` | `lifecycleEvent​(LifecycleEvent event)` | Acknowledge the occurrence of the specified event.
    `void` | `setKeyPrefix​(String keyPrefix)` | Sets the prefix to filter from property keys.
    `void` | `setRoleMappingFile​(String roleMappingFile)` | Sets the path to the role mapping properties file.

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

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

- - ### Constructor Detail

    - #### PropertiesRoleMappingListener

          public PropertiesRoleMappingListener()

  - ### Method Detail

    - #### setRoleMappingFile

          public void setRoleMappingFile​(String roleMappingFile)

      Sets the path to the role mapping properties file. You can use protocol `webapp:` and whatever `ConfigFileLoader` supports.
      Parameters:
        `roleMappingFile` - the role mapping properties file to load from
      Throws:
        `NullPointerException` - if roleMappingFile is null
        `IllegalArgumentException` - if roleMappingFile is empty

    - #### getRoleMappingFile

          public String getRoleMappingFile()

      Gets the path to the role mapping properties file.
      Returns:
        the path to the role mapping properties file

    - #### setKeyPrefix

          public void setKeyPrefix​(String keyPrefix)

      Sets the prefix to filter from property keys. All other keys will be ignored which do not have the prefix.
      Parameters:
        `keyPrefix` - the properties key prefix

    - #### getKeyPrefix

          public String getKeyPrefix()

      Gets the prefix to filter from property keys.
      Returns:
        the properties key prefix

    - #### lifecycleEvent

          public void lifecycleEvent​(LifecycleEvent event)

      Description copied from interface: `LifecycleListener`
      Acknowledge the occurrence of the specified event.
      Specified by:
        `lifecycleEvent` in interface `LifecycleListener`
      Parameters:
        `event` - LifecycleEvent that has occurred