/** * Obtains a specification for a {@link ConfigurationInterpolator} from the * specified map with parameters. All properties related to interpolation * are evaluated and added to the specification object. * * @param params the map with parameters (must not be <b>null</b>) * @return an {@code InterpolatorSpecification} object constructed with data * from the map * @throws IllegalArgumentException if the map is <b>null</b> or contains * invalid data */ public static InterpolatorSpecification fetchInterpolatorSpecification( final Map<String, Object> params) { checkParameters(params); return new InterpolatorSpecification.Builder() .withInterpolator( fetchParameter(params, PROP_INTERPOLATOR, ConfigurationInterpolator.class)) .withParentInterpolator( fetchParameter(params, PROP_PARENT_INTERPOLATOR, ConfigurationInterpolator.class)) .withPrefixLookups(fetchAndCheckPrefixLookups(params)) .withDefaultLookups(fetchAndCheckDefaultLookups(params)) .create(); }