Package org.jline.builtins
Class ConfigurationPath
- java.lang.Object
-
- org.jline.builtins.ConfigurationPath
-
public class ConfigurationPath extends java.lang.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 Summary
Constructors Constructor Description ConfigurationPath(java.lang.String classpathResource, java.nio.file.Path userConfig)
Configuration class constructor with classpath resource support.ConfigurationPath(java.nio.file.Path appConfig, java.nio.file.Path userConfig)
Configuration class constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ConfigurationPath
fromClasspath(java.lang.String classpathResource)
Creates a ConfigurationPath from a classpath resource.java.nio.file.Path
getConfig(java.lang.String name)
Search configuration file first from userConfig, then appConfig directory, and finally from classpath.java.nio.file.Path
getUserConfig(java.lang.String name)
Search configuration file from userConfig directory.java.nio.file.Path
getUserConfig(java.lang.String name, boolean create)
Search configuration file from userConfig directory.
-
-
-
Constructor Detail
-
ConfigurationPath
public ConfigurationPath(java.nio.file.Path appConfig, java.nio.file.Path userConfig)
Configuration class constructor.- Parameters:
appConfig
- Application configuration directoryuserConfig
- User private configuration directory
-
ConfigurationPath
public ConfigurationPath(java.lang.String classpathResource, java.nio.file.Path userConfig)
Configuration class constructor with classpath resource support.- Parameters:
classpathResource
- Classpath resource path (e.g., "/nano")userConfig
- User private configuration directory
-
-
Method Detail
-
getConfig
public java.nio.file.Path getConfig(java.lang.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 java.nio.file.Path getUserConfig(java.lang.String name) throws java.io.IOException
Search configuration file from userConfig directory. Returns null if file is not found.- Parameters:
name
- Configuration file name.- Returns:
- Configuration file.
- Throws:
java.io.IOException
- When we do not have read access to the file or directory.
-
getUserConfig
public java.nio.file.Path getUserConfig(java.lang.String name, boolean create) throws java.io.IOException
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:
java.io.IOException
- When we do not have read/write access to the file or directory.
-
fromClasspath
public static ConfigurationPath fromClasspath(java.lang.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
-
-