Class ConfigurationPath

java.lang.Object
org.jline.builtins.ConfigurationPath

public class ConfigurationPath extends Object
Manages configuration file paths for JLine applications.

This class provides a way to manage application and user configuration directories and locate configuration files within them. It follows the common pattern of looking for configuration files first in the user's configuration directory, then falling back to the application's configuration directory.

This class also supports loading configuration files from the classpath. The application configuration directory can be a classpath resource path, which will be resolved using the ClasspathResourceUtil class.

  • Constructor Details

    • ConfigurationPath

      public ConfigurationPath(Path appConfig, Path userConfig)
      Configuration class constructor.
      Parameters:
      appConfig - Application configuration directory
      userConfig - User private configuration directory
    • ConfigurationPath

      public ConfigurationPath(String classpathResource, Path userConfig)
      Configuration class constructor with classpath resource support.
      Parameters:
      classpathResource - Classpath resource path (e.g., "/nano")
      userConfig - User private configuration directory
  • Method Details

    • getConfig

      public Path getConfig(String name)
      Search configuration file first from userConfig, then appConfig directory, and finally from classpath. Returns null if file is not found.
      Parameters:
      name - Configuration file name.
      Returns:
      Configuration file.
    • getUserConfig

      public Path getUserConfig(String name) throws IOException
      Search configuration file from userConfig directory. Returns null if file is not found.
      Parameters:
      name - Configuration file name.
      Returns:
      Configuration file.
      Throws:
      IOException - When we do not have read access to the file or directory.
    • getUserConfig

      public Path getUserConfig(String name, boolean create) throws IOException
      Search configuration file from userConfig directory. Returns null if file is not found.
      Parameters:
      name - Configuration file name
      create - When true configuration file is created if not found.
      Returns:
      Configuration file.
      Throws:
      IOException - When we do not have read/write access to the file or directory.
    • fromClasspath

      public static ConfigurationPath fromClasspath(String classpathResource)
      Creates a ConfigurationPath from a classpath resource.
      Parameters:
      classpathResource - The classpath resource path (e.g., "/nano")
      Returns:
      A ConfigurationPath that will look for resources in the specified classpath location