/*
 * Copyright (c) 2002-2019, the original author or authors.
 *
 * This software is distributable under the BSD license. See the terms of the
 * BSD license in the documentation provided with this software.
 *
 * https://opensource.org/licenses/BSD-3-Clause
 */
package jdk.internal.org.jline.reader;

import java.io.IOException;
import java.nio.file.Path;

public class ConfigurationPath {
    private Path appConfig;
    private Path userConfig;

    
Configuration class constructor.
Params:
  • appConfig – Application configuration directory
  • userConfig – User private configuration directory
/** * Configuration class constructor. * @param appConfig Application configuration directory * @param userConfig User private configuration directory */
public ConfigurationPath(Path appConfig, Path userConfig) { this.appConfig = appConfig; this.userConfig = userConfig; }
Search configuration file first from userConfig and then appConfig directory. Returns null if file is not found.
Params:
  • name – Configuration file name.
Returns: Configuration file.
/** * Search configuration file first from userConfig and then appConfig directory. Returns null if file is not found. * @param name Configuration file name. * @return Configuration file. * */
public Path getConfig(String name) { Path out = null; if (userConfig != null && userConfig.resolve(name).toFile().exists()) { out = userConfig.resolve(name); } else if (appConfig != null && appConfig.resolve(name).toFile().exists()) { out = appConfig.resolve(name); } return out; }
Search configuration file from userConfig directory. Returns null if file is not found.
Params:
  • name – Configuration file name.
Throws:
  • IOException – When we do not have read access to the file or directory.
Returns: Configuration file.
/** * Search configuration file from userConfig directory. Returns null if file is not found. * @param name Configuration file name. * @return Configuration file. * @throws IOException When we do not have read access to the file or directory. * */
public Path getUserConfig(String name) throws IOException { return getUserConfig(name, false); }
Search configuration file from userConfig directory. Returns null if file is not found.
Params:
  • name – Configuration file name
  • create – When true configuration file is created if not found.
Throws:
  • IOException – When we do not have read/write access to the file or directory.
Returns: Configuration file.
/** * Search configuration file from userConfig directory. Returns null if file is not found. * @param name Configuration file name * @param create When true configuration file is created if not found. * @return Configuration file. * @throws IOException When we do not have read/write access to the file or directory. */
public Path getUserConfig(String name, boolean create) throws IOException { Path out = null; if (userConfig != null) { if (!userConfig.resolve(name).toFile().exists() && create) { userConfig.resolve(name).toFile().createNewFile(); } if (userConfig.resolve(name).toFile().exists()) { out = userConfig.resolve(name); } } return out; } }