Class ConfigTreePropertySource

All Implemented Interfaces:
OriginLookup<String>

public class ConfigTreePropertySource extends EnumerablePropertySource<Path> implements OriginLookup<String>
PropertySource backed by a directory tree that contains files for each value. The PropertySource will recursively scan a given source directory and expose a property for each file found. The property name will be the filename, and the property value will be the contents of the file.

Directories are only scanned when the source is first created. The directory is not monitored for updates, so files should not be added or removed. However, the contents of a file can be updated as long as the property source was created with a ConfigTreePropertySource.Option.ALWAYS_READ option. Nested directories are included in the source, but with a '.' rather than '/' used as the path separator.

Property values are returned as ConfigTreePropertySource.Value instances which allows them to be treated either as an InputStreamSource or as a CharSequence. In addition, if used with an Environment configured with an ApplicationConversionService, property values can be converted to a String or byte[].

This property source is typically used to read Kubernetes configMap volume mounts.

Since:
2.4.0
Author:
Phillip Webb