Class FileContentResolver

  • All Implemented Interfaces:
    PropertyResolver

    public final class FileContentResolver
    extends Object
    implements PropertyResolver
    Property resolver that considers only the property keys that begins with the "file:" string, and then interprets the remaining part of the key as a relative or absolute file path that must be read to return a value.

    Example: a call to resolver.getProperty("&{file:/some/path}") will return the content of the /some/path file, provided it exists and is not empty.

    If the key does not correspond to an existing non-empty file, or if an error occurs during the reading of the file, then an IllegalStateException is thrown.

    • Constructor Detail

      • FileContentResolver

        public FileContentResolver​(Path serverInstancePath)
        Creates a file content resolver.
        Parameters:
        serverInstancePath - Path to server instance
    • Method Detail

      • getProperty

        public Optional<String> getProperty​(String key,
                                            boolean sensitive)
        Description copied from interface: PropertyResolver
        Returns the value of the specified property. The method returns an empty Optional if the property is not found. The resolved property has to be considered sensitive if sensitive is true and implementations are required to handle it with special attention (no logs, ...).
        Specified by:
        getProperty in interface PropertyResolver
        Parameters:
        key - The name of the requested property. The key can't be null.
        sensitive - true is the property value has to be considered a sensitive value (such as a password).
        Returns:
        An Optional string that contains the value of the requested property, or empty Optional if property is undefined.