Interface PropertySource

All Known Implementing Classes:
EnvironmentPropertySource, PropertiesPropertySource, PropertyFilePropertySource, SystemPropertiesPropertySource

public interface PropertySource
A source for global configuration properties.
Since:
2.10.0
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static class 
    Comparator for ordering PropertySource instances by priority.
    static final class 
    Utility methods useful for PropertySource implementations.
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
    For PropertySources that cannot iterate over all the potential properties this provides a direct lookup.
    default void
    Iterates over all properties and performs an action for each key/value pair.
    default CharSequence
    getNormalForm(Iterable<? extends CharSequence> tokens)
    Converts a list of property name tokens into a normal form.
    int
    Returns the order in which this PropertySource has priority.
    default String
    For PropertySources that cannot iterate over all the potential properties this provides a direct lookup.
    Returns the list of all property names.
  • Method Details

    • getPriority

      int getPriority()
      Returns the order in which this PropertySource has priority. A higher value means that the source will be searched later and can be overridden by other property sources.
      Returns:
      priority value
    • forEach

      default void forEach(BiConsumer<String,String> action)
      Iterates over all properties and performs an action for each key/value pair.
      Parameters:
      action - action to perform on each key/value pair
    • getPropertyNames

      default Collection<String> getPropertyNames()
      Returns the list of all property names.
      Returns:
      list of property names
    • getNormalForm

      default CharSequence getNormalForm(Iterable<? extends CharSequence> tokens)
      Converts a list of property name tokens into a normal form. For example, a list of tokens such as "foo", "bar", "baz", might be normalized into the property name "log4j2.fooBarBaz".
      Parameters:
      tokens - list of property name tokens
      Returns:
      a normalized property name using the given tokens
    • getProperty

      default String getProperty(String key)
      For PropertySources that cannot iterate over all the potential properties this provides a direct lookup.
      Parameters:
      key - The key to search for.
      Returns:
      The value or null;
      Since:
      2.13.0
    • containsProperty

      default boolean containsProperty(String key)
      For PropertySources that cannot iterate over all the potential properties this provides a direct lookup.
      Parameters:
      key - The key to search for.
      Returns:
      The value or null;
      Since:
      2.13.0