Enum Class ConfigLocator

java.lang.Object
java.lang.Enum<ConfigLocator>
org.refcodes.runtime.ConfigLocator
All Implemented Interfaces:
Serializable, Comparable<ConfigLocator>, Constable

public enum ConfigLocator extends Enum<ConfigLocator>
This enumeration represents configuration folder locations (of type File) and configuration file retrieval as of the chosen configuration mode.
  • Nested Class Summary

    Nested classes/interfaces inherited from class java.lang.Enum

    Enum.EnumDesc<E extends Enum<E>>
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
    None of the as of the folders as of the ConfigLocator enumeration are considered.
    Representation of folders as of the ConfigLocator enumeration.
    Representation of all the APPLICATION_* folders.
    Representation of the folder in which the application resides (e.g. the `JAR` file).
    Representation of all the APPLICATION_DIR_* folders as of the ConfigLocator enumeration.
    Representation of the config folder relative to the folder in which the application resides (e.g. the `JAR` file).
    Representation of the .config folder relative to the folder in which the application resides (e.g. the `JAR` file).
    Representation of the .etc folder relative to the folder in which the application resides (e.g. the `JAR` file).
    Representation of the .settings folder relative to the folder in which the application resides (e.g. the `JAR` file).
    Representation of the etc folder relative to the folder in which the application resides (e.g. the `JAR` file).
    Representation of the settings folder relative to the folder in which the application resides (e.g. the `JAR` file).
    Representation of all the APPLICATION_PARRENT_* folders as of the ConfigLocator enumeration.
    Representation of the config folder in the parent directory of the folder in which the application resides (e.g. the `JAR` file).
    Representation of the .config folder in the parent directory of the folder in which the application resides (e.g. the `JAR` file).
    Representation of the .etc folder in the parent directory of the folder in which the application resides (e.g. the `JAR` file).
    Representation of the .settings folder in the parent directory of the folder in which the application resides (e.g. the `JAR` file).
    Representation of the etc folder in the parent directory of the folder in which the application resides (e.g. the `JAR` file).
    Representation of the settings folder in the parent directory of the folder in which the application resides (e.g. the `JAR` file).
    Representation of the (in Unix alike systems) /etc/ folder.
    Representation of the executing user's home folder.
    Representation of all the USER_HOME_* folders.
    Representation of the config folder relative to the executing user's home folder.
    Representation of the .config folder relative to the executing user's home folder.
    Representation of the .etc folder relative to the executing user's home folder.
    Representation of the .settings folder relative to the executing user's home folder.
    Representation of the etc folder relative to the executing user's home folder.
    Representation of the settings folder relative to the executing user's home folder.
    Representation of all the USER_HOME_* folders as well as the current user's current working directory USER_WORKING_DIRECTORY.
    Consider just the current user's current working directory.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the folders to be examined by the according enumeration's configuration in the order as of evaluation.
    getFolders(File... aFolders)
    Returns the folders to be examined by the according enumeration's configuration in the order as of evaluation.
    boolean
    Determines whether to consider the application's base (the folder where the JAR resides) folder.
    boolean
    Determines whether to consider the application's base (the folder where the JAR resides) "config" subfolder.
    boolean
    Determines whether to consider the application's base (the folder where the JAR resides) ".config" subfolder.
    boolean
    Determines whether to consider the application's base (the folder where the JAR resides) ".etc" subfolder.
    boolean
    Determines whether to consider the application's base (the folder where the JAR resides) ".settings" subfolder.
    boolean
    Determines whether to consider the application's base (the folder where the JAR resides) "etc" subfolder.
    boolean
    Determines whether to consider the application's base (the folder where the JAR resides) "settings" subfolder.
    boolean
    Determines whether to consider the application's parent (the parent folder of the folder where the JAR resides) "config" subfolder.
    boolean
    Determines whether to consider the application's parent (the parent folder of the folder where the JAR resides) ".config" subfolder.
    boolean
    Determines whether to consider the application's parent (the parent folder of the folder where the JAR resides) ".etc" subfolder.
    boolean
    Determines whether to consider the application's parent (the parent folder of the folder where the JAR resides) ".settings" subfolder.
    boolean
    Determines whether to consider the application's parent (the parent folder of the folder where the JAR resides) "etc" subfolder.
    boolean
    Determines whether to consider the application's parent (the parent folder of the folder where the JAR resides) "settings" subfolder.
    boolean
    Determines whether to consider the host's "/etc" folder.
    boolean
    Determines whether to consider the user's home "~" folder.
    boolean
    Determines whether to consider the user's home "~" subfolder "config".
    boolean
    Determines whether to consider the user's home "~" subfolder ".config".
    boolean
    Determines whether to consider the user's home "~" subfolder ".etc".
    boolean
    Determines whether to consider the user's home "~" subfolder ".settings".
    boolean
    Determines whether to consider the user's home "~" subfolder "etc".
    boolean
    Determines whether to consider the user's home "~" subfolder "settings".
    boolean
    Determines whether to consider the user's current working directory (as for example bash's pwd would print out).
    toFile(String aFileName)
    Retrieves the first File identified by the given filename located in one of the according enumeration's configuration locations.
    toFile(String aFileName, File... aFolders)
    Retrieves the first File identified by the given filename located in one of the according enumeration's configuration locations.
    Returns the enum constant of this class with the specified name.
    static ConfigLocator[]
    Returns an array containing the constants of this enum class, in the order they are declared.

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

    • DEFAULT

      public static final ConfigLocator DEFAULT
    • HOST_ETC

      public static final ConfigLocator HOST_ETC
      Representation of the (in Unix alike systems) /etc/ folder.
    • APPLICATION_DIR

      public static final ConfigLocator APPLICATION_DIR
      Representation of the folder in which the application resides (e.g. the `JAR` file).
    • APPLICATION_DIR_CONFIG

      public static final ConfigLocator APPLICATION_DIR_CONFIG
      Representation of the config folder relative to the folder in which the application resides (e.g. the `JAR` file).
    • APPLICATION_DIR_ETC

      public static final ConfigLocator APPLICATION_DIR_ETC
      Representation of the etc folder relative to the folder in which the application resides (e.g. the `JAR` file).
    • APPLICATION_DIR_SETTINGS

      public static final ConfigLocator APPLICATION_DIR_SETTINGS
      Representation of the settings folder relative to the folder in which the application resides (e.g. the `JAR` file).
    • APPLICATION_DIR_DOT_CONFIG

      public static final ConfigLocator APPLICATION_DIR_DOT_CONFIG
      Representation of the .config folder relative to the folder in which the application resides (e.g. the `JAR` file).
    • APPLICATION_DIR_DOT_ETC

      public static final ConfigLocator APPLICATION_DIR_DOT_ETC
      Representation of the .etc folder relative to the folder in which the application resides (e.g. the `JAR` file).
    • APPLICATION_DIR_DOT_SETTINGS

      public static final ConfigLocator APPLICATION_DIR_DOT_SETTINGS
      Representation of the .settings folder relative to the folder in which the application resides (e.g. the `JAR` file).
    • APPLICATION_DIR_ALL

      public static final ConfigLocator APPLICATION_DIR_ALL
      Representation of all the APPLICATION_DIR_* folders as of the ConfigLocator enumeration.
    • APPLICATION_PARENT_CONFIG

      public static final ConfigLocator APPLICATION_PARENT_CONFIG
      Representation of the config folder in the parent directory of the folder in which the application resides (e.g. the `JAR` file).
    • APPLICATION_PARENT_ETC

      public static final ConfigLocator APPLICATION_PARENT_ETC
      Representation of the etc folder in the parent directory of the folder in which the application resides (e.g. the `JAR` file).
    • APPLICATION_PARENT_SETTINGS

      public static final ConfigLocator APPLICATION_PARENT_SETTINGS
      Representation of the settings folder in the parent directory of the folder in which the application resides (e.g. the `JAR` file).
    • APPLICATION_PARENT_DOT_CONFIG

      public static final ConfigLocator APPLICATION_PARENT_DOT_CONFIG
      Representation of the .config folder in the parent directory of the folder in which the application resides (e.g. the `JAR` file).
    • APPLICATION_PARENT_DOT_ETC

      public static final ConfigLocator APPLICATION_PARENT_DOT_ETC
      Representation of the .etc folder in the parent directory of the folder in which the application resides (e.g. the `JAR` file).
    • APPLICATION_PARENT_DOT_SETTINGS

      public static final ConfigLocator APPLICATION_PARENT_DOT_SETTINGS
      Representation of the .settings folder in the parent directory of the folder in which the application resides (e.g. the `JAR` file).
    • APPLICATION_PARENT_ALL

      public static final ConfigLocator APPLICATION_PARENT_ALL
      Representation of all the APPLICATION_PARRENT_* folders as of the ConfigLocator enumeration.
    • APPLICATION_ALL

      public static final ConfigLocator APPLICATION_ALL
      Representation of all the APPLICATION_* folders.
    • USER_HOME

      public static final ConfigLocator USER_HOME
      Representation of the executing user's home folder.
    • USER_HOME_CONFIG

      public static final ConfigLocator USER_HOME_CONFIG
      Representation of the config folder relative to the executing user's home folder.
    • USER_HOME_ETC

      public static final ConfigLocator USER_HOME_ETC
      Representation of the etc folder relative to the executing user's home folder.
    • USER_HOME_SETTINGS

      public static final ConfigLocator USER_HOME_SETTINGS
      Representation of the settings folder relative to the executing user's home folder.
    • USER_HOME_DOT_CONFIG

      public static final ConfigLocator USER_HOME_DOT_CONFIG
      Representation of the .config folder relative to the executing user's home folder.
    • USER_HOME_DOT_ETC

      public static final ConfigLocator USER_HOME_DOT_ETC
      Representation of the .etc folder relative to the executing user's home folder.
    • USER_HOME_DOT_SETTINGS

      public static final ConfigLocator USER_HOME_DOT_SETTINGS
      Representation of the .settings folder relative to the executing user's home folder.
    • USER_HOME_ALL

      public static final ConfigLocator USER_HOME_ALL
      Representation of all the USER_HOME_* folders.
    • USER_WORKING_DIRECTORY

      public static final ConfigLocator USER_WORKING_DIRECTORY
      Consider just the current user's current working directory.
    • USER_HOME_WORKING_DIRECTORY_ALL

      public static final ConfigLocator USER_HOME_WORKING_DIRECTORY_ALL
      Representation of all the USER_HOME_* folders as well as the current user's current working directory USER_WORKING_DIRECTORY.
    • ALL

      public static final ConfigLocator ALL
      Representation of folders as of the ConfigLocator enumeration.
    • ABSOLUTE

      public static final ConfigLocator ABSOLUTE
      None of the as of the folders as of the ConfigLocator enumeration are considered.
  • Method Details

    • values

      public static ConfigLocator[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static ConfigLocator valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • isHostEtc

      public boolean isHostEtc()
      Determines whether to consider the host's "/etc" folder.
      Returns:
      True in case the according folder is considered.
    • isApplicationBase

      public boolean isApplicationBase()
      Determines whether to consider the application's base (the folder where the JAR resides) folder.
      Returns:
      True in case the according folder is considered.
    • isApplicationBaseConfig

      public boolean isApplicationBaseConfig()
      Determines whether to consider the application's base (the folder where the JAR resides) "config" subfolder.
      Returns:
      True in case the according folder is considered.
    • isApplicationBaseEtc

      public boolean isApplicationBaseEtc()
      Determines whether to consider the application's base (the folder where the JAR resides) "etc" subfolder.
      Returns:
      True in case the according folder is considered.
    • isApplicationBaseSettings

      public boolean isApplicationBaseSettings()
      Determines whether to consider the application's base (the folder where the JAR resides) "settings" subfolder.
      Returns:
      True in case the according folder is considered.
    • isApplicationBaseDotConfig

      public boolean isApplicationBaseDotConfig()
      Determines whether to consider the application's base (the folder where the JAR resides) ".config" subfolder.
      Returns:
      True in case the according folder is considered.
    • isApplicationBaseDotEtc

      public boolean isApplicationBaseDotEtc()
      Determines whether to consider the application's base (the folder where the JAR resides) ".etc" subfolder.
      Returns:
      True in case the according folder is considered.
    • isApplicationBaseDotSettings

      public boolean isApplicationBaseDotSettings()
      Determines whether to consider the application's base (the folder where the JAR resides) ".settings" subfolder.
      Returns:
      True in case the according folder is considered.
    • isApplicationParentConfig

      public boolean isApplicationParentConfig()
      Determines whether to consider the application's parent (the parent folder of the folder where the JAR resides) "config" subfolder.
      Returns:
      True in case the according folder is considered.
    • isApplicationParentEtc

      public boolean isApplicationParentEtc()
      Determines whether to consider the application's parent (the parent folder of the folder where the JAR resides) "etc" subfolder.
      Returns:
      True in case the according folder is considered.
    • isApplicationParentSettings

      public boolean isApplicationParentSettings()
      Determines whether to consider the application's parent (the parent folder of the folder where the JAR resides) "settings" subfolder.
      Returns:
      True in case the according folder is considered.
    • isApplicationParentDotConfig

      public boolean isApplicationParentDotConfig()
      Determines whether to consider the application's parent (the parent folder of the folder where the JAR resides) ".config" subfolder.
      Returns:
      True in case the according folder is considered.
    • isApplicationParentDotEtc

      public boolean isApplicationParentDotEtc()
      Determines whether to consider the application's parent (the parent folder of the folder where the JAR resides) ".etc" subfolder.
      Returns:
      True in case the according folder is considered.
    • isApplicationParentDotSettings

      public boolean isApplicationParentDotSettings()
      Determines whether to consider the application's parent (the parent folder of the folder where the JAR resides) ".settings" subfolder.
      Returns:
      True in case the according folder is considered.
    • isUserHome

      public boolean isUserHome()
      Determines whether to consider the user's home "~" folder.
      Returns:
      True in case the according folder is considered.
    • isUserHomeConfig

      public boolean isUserHomeConfig()
      Determines whether to consider the user's home "~" subfolder "config".
      Returns:
      True in case the according folder is considered.
    • isUserHomeEtc

      public boolean isUserHomeEtc()
      Determines whether to consider the user's home "~" subfolder "etc".
      Returns:
      True in case the according folder is considered.
    • isUserHomeSettings

      public boolean isUserHomeSettings()
      Determines whether to consider the user's home "~" subfolder "settings".
      Returns:
      True in case the according folder is considered.
    • isUserHomeDotConfig

      public boolean isUserHomeDotConfig()
      Determines whether to consider the user's home "~" subfolder ".config".
      Returns:
      True in case the according folder is considered.
    • isUserHomeDotEtc

      public boolean isUserHomeDotEtc()
      Determines whether to consider the user's home "~" subfolder ".etc".
      Returns:
      True in case the according folder is considered.
    • isUserHomeDotSettings

      public boolean isUserHomeDotSettings()
      Determines whether to consider the user's home "~" subfolder ".settings".
      Returns:
      True in case the according folder is considered.
    • isUserWorkingDir

      public boolean isUserWorkingDir()
      Determines whether to consider the user's current working directory (as for example bash's pwd would print out).
      Returns:
      True in case the according folder is considered.
    • toFile

      public File toFile(String aFileName)
      Retrieves the first File identified by the given filename located in one of the according enumeration's configuration locations. If provided, regards the folder as provided by the system property SystemProperty.CONFIG_DIR with highest priority. Also takes build environment folders into account (least highest priority) when the launch folder points to an according build environment (such as maven's "target" folder).
      Parameters:
      aFileName - The filename for which to determine the according File.
      Returns:
      The according File or null if none such file was detected.
    • toFile

      public File toFile(String aFileName, File... aFolders)
      Retrieves the first File identified by the given filename located in one of the according enumeration's configuration locations. If provided, regards the folder as provided by the system property SystemProperty.CONFIG_DIR with highest priority. The programmatically provided folders are regarded with second highest priority. Also takes build environment folders into account (least highest priority) when the launch folder points to an according build environment (such as maven's "target" folder).
      Parameters:
      aFileName - The filename for which to determine the according File.
      aFolders - The folders to also take into account.
      Returns:
      The according File or null if none such file was detected.
    • getFolders

      public File[] getFolders()
      Returns the folders to be examined by the according enumeration's configuration in the order as of evaluation. If provided, regards the folder as provided by the system property SystemProperty.CONFIG_DIR with highest priority. Also takes build environment folders into account (least highest priority) when the launch folder points to an according build environment (such as maven's "target" folder).
      Returns:
      The folders to be examined.
    • getFolders

      public File[] getFolders(File... aFolders)
      Returns the folders to be examined by the according enumeration's configuration in the order as of evaluation. If provided, regards the folder as provided by the system property SystemProperty.CONFIG_DIR with highest priority. The programmatically provided folders are regarded with second highest priority. Also takes build environment folders into account (least highest priority) when the launch folder points to an according build environment (such as maven's "target" folder).
      Parameters:
      aFolders - The folders to also take into account.
      Returns:
      The folders to be examined.