Package org.apache.commons.configuration2.interpol

# Class InterpolatorSpecification

java.lang.Object
org.apache.commons.configuration2.interpol.InterpolatorSpecification

public final class InterpolatorSpecification extends Object

A simple value class defining a `ConfigurationInterpolator`.

Objects of this class can be used for creating new `ConfigurationInterpolator` instances; they contain all required properties. It is either possible to set a fully initialized `ConfigurationInterpolator` directly which can be used as is. Alternatively, some or all properties of an instance to be newly created can be set. These properties include

- a map with `Lookup` objects associated with a specific prefix
- a collection with default `Lookup` objects (without a prefix)
- a parent `ConfigurationInterpolator`
- a function used to convert interpolated values into strings

When setting up a configuration it is possible to define the `ConfigurationInterpolator` in terms of this class. The configuration will then either use the `ConfigurationInterpolator` instance explicitly defined in the `InterpolatorSpecification` instance or create a new one.

Instances are not created directly, but using the nested `Builder` class. They are then immutable.

Since:
  2.0

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `InterpolatorSpecification.Builder`
  A builder class for creating instances of `InterpolatorSpecification`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Collection<Lookup>`
  `getDefaultLookups()`
  Gets a collection with the default lookups.
  `ConfigurationInterpolator`
  `getInterpolator()`
  Gets the `ConfigurationInterpolator` instance to be used directly.
  `ConfigurationInterpolator`
  `getParentInterpolator()`
  Gets the parent `ConfigurationInterpolator` object.
  `Map<String,Lookup>`
  `getPrefixLookups()`
  Gets a map with prefix lookups.
  `Function<Object,String>`
  `getStringConverter()`
  Gets the function used to convert interpolated values to strings or `null` if the default conversion function is to be used.

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

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

- ## Method Details

  - ### getDefaultLookups

    public Collection<Lookup> getDefaultLookups()
    Gets a collection with the default lookups.
    Returns:
      the default lookups for a new `ConfigurationInterpolator` instance (never null)

  - ### getInterpolator

    public ConfigurationInterpolator getInterpolator()
    Gets the `ConfigurationInterpolator` instance to be used directly.
    Returns:
      the `ConfigurationInterpolator` (can be null)

  - ### getParentInterpolator

    public ConfigurationInterpolator getParentInterpolator()
    Gets the parent `ConfigurationInterpolator` object.
    Returns:
      the parent `ConfigurationInterpolator` (can be null)

  - ### getPrefixLookups

    public Map<String,Lookup> getPrefixLookups()
    Gets a map with prefix lookups. The keys of the map are the prefix strings, its values are the corresponding `Lookup` objects.
    Returns:
      the prefix lookups for a new `ConfigurationInterpolator` instance (never null)

  - ### getStringConverter

    public Function<Object,String> getStringConverter()
    Gets the function used to convert interpolated values to strings or `null` if the default conversion function is to be used.
    Returns:
      function used to convert interpolated values to strings or `null` if the default conversion function is to be used