Interface OverrideSource

All Superinterfaces:
Source, Supplier<OverrideSource>
All Known Implementing Classes:
ClasspathOverrideSource, FileOverrideSource, InMemoryOverrideSource, UrlOverrideSource

public interface OverrideSource extends Source, Supplier<OverrideSource>
Source of config override settings.

A config override setting provides an alternate, or overriding, value for a config element based on the element's key. Implementations of this interface furnish override settings as OverrideSource.OverrideData objects.

The OverrideSource.OverrideData.data method returns a List of pairs, each of which contains a Predicate which evaluates the config key and a String which is the overriding value to be used if the predicate is true. The config system applies overrides before it applies filters, and it applies only the first matching override it finds.

The config override mechanism affects existing Config nodes that come from a ConfigSource. The override mechanism cannot create additional Config nodes, only modify existing ones.

See Also: