Class ConfigurationFile


  • public class ConfigurationFile
    extends Object
    Encapsulates the configuration file and manages its history
    Author:
    Kabir Khan, Brian Stansberry
    • Constructor Detail

      • ConfigurationFile

        public ConfigurationFile​(File configurationDir,
                                 String rawName,
                                 String name,
                                 boolean persistOriginal)
        Creates a new ConfigurationFile.
        Parameters:
        configurationDir - directory in which configuration files are stored. Cannot be null and must exist and be a directory
        rawName - default name for configuration files of the type handled by this object. Cannot be null or an empty string
        name - user provided name of the configuration file to use
        persistOriginal - true if configuration modifications should be persisted back to the main configuration file; false if they should only be persisted to the configuration history directory
      • ConfigurationFile

        public ConfigurationFile​(File configurationDir,
                                 String rawName,
                                 String name,
                                 ConfigurationFile.InteractionPolicy interactionPolicy,
                                 boolean useGit,
                                 ConfigurationExtension configurationExtension)
        Creates a new ConfigurationFile.
        Parameters:
        configurationDir - directory in which configuration files are stored. Cannot be null and must exist and be a directory
        rawName - default name for configuration files of the type handled by this object. Cannot be null or an empty string
        name - user provided name of the configuration file to use
        interactionPolicy - policy governing interaction with the configuration file.
        useGit - true if configuration is using Git to manage its history.
        configurationExtension - extra configuration.
      • ConfigurationFile

        public ConfigurationFile​(File configurationDir,
                                 String rawName,
                                 String name,
                                 ConfigurationFile.InteractionPolicy interactionPolicy,
                                 boolean useGit,
                                 File tmpDir,
                                 ConfigurationExtension configurationExtension)
        Creates a new ConfigurationFile.
        Parameters:
        configurationDir - directory in which configuration files are stored. Cannot be null and must exist and be a directory.
        rawName - default name for configuration files of the type handled by this object. Cannot be null or an empty string.
        name - user provided name of the configuration file to use.
        interactionPolicy - policy governing interaction with the configuration file.
        useGit - true if configuration is using Git to manage its history.
        tmpDir - The server temporary directory to use as a fallback if the configuration directory cannot be written and we are running on read only mode.
        configurationExtension - extra configuration.
    • Method Detail

      • useGit

        public boolean useGit()
      • checkCanFindNewBootFile

        public boolean checkCanFindNewBootFile​(String bootFileName)
      • resetBootFile

        public void resetBootFile​(boolean reloadUsingLast,
                                  String newBootFileName)
        Reset so the next call to getBootFile() will re-determine the appropriate file to use for parsing boot operations. If reloadUsingLast is true, while newBootFileName is not null, newBootFileName will take precedence. If a newBootFileName is used, callers must call checkCanFindNewBootFile(String) first.
        Parameters:
        reloadUsingLast - true if the next call to getBootFile() should use the last file from the history. Only relevant if this object is not persisting changes back to the original source file
        newBootFileName - the name of the new bootfile
      • getBootFile

        public File getBootFile()
        Gets the file from which boot operations should be parsed.
        Returns:
        the file. Will not be null
      • getMainFile

        public File getMainFile()
        Gets the file to which modifications would be persisted, if this object is persisting changes outside the history directory
      • getConfigurationDir

        public File getConfigurationDir()