Class ChainedPropertyResolver

java.lang.Object
org.forgerock.config.resolvers.ChainedPropertyResolver
All Implemented Interfaces:
PropertyResolver

public class ChainedPropertyResolver extends Object implements PropertyResolver
Contains a chain of PropertyResolvers that should be used to get a token replacement property. When constructing the chain the PropertyResolvers should be listed in the order they should be checked for a given property.
  • Constructor Details

    • ChainedPropertyResolver

      public ChainedPropertyResolver(List<? extends PropertyResolver> resolvers)
      Creates a chained property resolver given a list of PropertyResolvers.
      Parameters:
      resolvers - the list of @link PropertyResolver}s. This list should be in the order you want the PropertyResolvers to be evaluated.
  • Method Details

    • getProperty

      public Optional<String> getProperty(String key, boolean sensitive)
      Description copied from interface: PropertyResolver
      Returns the value of the specified property. The method returns an empty Optional if the property is not found. The resolved property has to be considered sensitive if sensitive is true and implementations are required to handle it with special attention (no logs, ...).
      Specified by:
      getProperty in interface PropertyResolver
      Parameters:
      key - The name of the requested property. The key can't be null.
      sensitive - true is the property value has to be considered a sensitive value (such as a password).
      Returns:
      An Optional string that contains the value of the requested property, or empty Optional if property is undefined.
    • of

      public static ChainedPropertyResolver of(PropertyResolver... resolvers)
      Constructs a ChainedPropertyResolver given a a list of PropertyResolvers. A property will attempt to be resolved in the order that the PropertyResolvers are defined.
      Parameters:
      resolvers - The list of the resolvers in the order that a property will be resolved.
      Returns:
      a ChainedPropertyResolver
    • toString

      public String toString()
      Overrides:
      toString in class Object