Class ConfigurationFramework


  • public final class ConfigurationFramework
    extends Object
    This class is responsible for managing the configuration framework including:
    • loading core components during application initialization
    • loading extensions during and after application initialization
    • changing the property validation strategy based on whether the application is a client or server.
    This class defines a class loader which will be used for loading components. For extensions which define their own extended configuration definitions, the class loader will make sure that the configuration definition classes are loaded and initialized.

    Initially the configuration framework is disabled, and calls to the getClassLoader() will return the system default class loader.

    Applications MUST NOT maintain persistent references to the class loader as it can change at run-time.

    • Method Detail

      • getInstance

        public static ConfigurationFramework getInstance()
        Returns the single application wide configuration framework instance.
        Returns:
        The single application wide configuration framework instance.
      • getPrintableExtensionInformation

        public static String getPrintableExtensionInformation​(Path installPath,
                                                              Path instancePath)
        Returns a string representing all information about extensions.
        Parameters:
        installPath - The path where application binaries are located.
        instancePath - The path where application data are located.
        Returns:
        A string representing all information about extensions; null if there is no information available.
      • getClassLoader

        public ClassLoader getClassLoader()
        Returns the class loader which should be used for loading classes and resources. When this configuration framework is disabled, the system default class loader will be returned by default.

        Applications MUST NOT maintain persistent references to the class loader as it can change at run-time.

        Returns:
        Returns the class loader which should be used for loading classes and resources.
      • initialize

        public void initialize()
                        throws ConfigException
        Initializes the configuration framework using the application's class loader as the parent class loader, and the current working directory as the install and instance path.
        Throws:
        ConfigException - If the configuration framework could not initialize successfully.
        IllegalStateException - If the configuration framework has already been initialized.
      • initialize

        public void initialize​(ConfigurationFramework.InitParameters initParameters)
                        throws ConfigException
        Initializes the configuration framework using the application's class loader as the parent class loader, and the current working directory as the install and instance path.
        Parameters:
        initParameters - The parameters used for initializing this configuration framework.
        Throws:
        ConfigException - If the configuration framework could not initialize successfully.
        IllegalStateException - If the configuration framework has already been initialized.
      • initializeSilently

        public void initializeSilently()
        Silently initialize the configuration framework.

        Do not log anything during the initialization. Catch ConfigException which may occurs and convert it to a RuntimeException. This method should be used by client tools who need to initialize the framework.

      • forceInitialize

        public void forceInitialize​(ConfigurationFramework.InitParameters initParameters)
                             throws ConfigException
        Initializes the configuration framework using the application's class loader as the parent class loader, and the provided install and instance paths.
        Parameters:
        initParameters - The parameters used for initializing this configuration framework.
        Throws:
        ConfigException - If the configuration framework could not initialize successfully.
        IllegalStateException - If the configuration framework has already been initialized.
      • isClient

        public boolean isClient()
        Returns true if the configuration framework is being used within a client application. Client applications will perform less property value validation than server applications because they do not have resources available such as the server schema.
        Returns:
        true if the configuration framework is being used within a client application.
      • getInstallPath

        public Path getInstallPath()
        Returns the installation path.
        Returns:
        The installation path of this instance.
      • getInstancePath

        public Path getInstancePath()
        Returns the instance path.
        Returns:
        The instance path.
      • getVersion

        public com.forgerock.opendj.util.Version getVersion()
        Returns the version of this configuration framework.
        Returns:
        a Version object representing the version of this ConfigurationFramework
      • isConfigFile

        public boolean isConfigFile​(Path file)
        Returns true if the provided file is the configuration file used by this instance.

        If an IO exception occurs, this method will return false instead of throwing it.

        Parameters:
        file - The file to be compared against this instance configuration file.
        Returns:
        true if the provided file is the configuration file used by this instance, false otherwise.