Package org.jline.builtins
Class ConfigurationPath
java.lang.Object
org.jline.builtins.ConfigurationPath
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 Summary
ConstructorsConstructorDescriptionConfigurationPath
(String classpathResource, Path userConfig) Configuration class constructor with classpath resource support.ConfigurationPath
(Path appConfig, Path userConfig) Configuration class constructor. -
Method Summary
Modifier and TypeMethodDescriptionstatic ConfigurationPath
fromClasspath
(String classpathResource) Creates a ConfigurationPath from a classpath resource.Search configuration file first from userConfig, then appConfig directory, and finally from classpath.getUserConfig
(String name) Search configuration file from userConfig directory.getUserConfig
(String name, boolean create) Search configuration file from userConfig directory.
-
Constructor Details
-
ConfigurationPath
Configuration class constructor.- Parameters:
appConfig
- Application configuration directoryuserConfig
- User private configuration directory
-
ConfigurationPath
Configuration class constructor with classpath resource support.- Parameters:
classpathResource
- Classpath resource path (e.g., "/nano")userConfig
- User private configuration directory
-
-
Method Details
-
getConfig
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
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
Search configuration file from userConfig directory. Returns null if file is not found.- Parameters:
name
- Configuration file namecreate
- 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
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
-