Class DefaultConfigurator

  • All Implemented Interfaces:
    Configurator

    @Component(role=Configurator.class)
    public class DefaultConfigurator
    extends java.lang.Object
    implements Configurator
    Default implementation of XMvn configurator.

    WARNING: This class is part of internal implementation of XMvn and it is marked as public only for technical reasons. This class is not part of XMvn API. Client code using XMvn should not reference it directly.

    • Field Detail

      • logger

        @Requirement
        private Logger logger
      • cachedDefaultConfiguration

        private Configuration cachedDefaultConfiguration
      • configFiles

        private java.util.List<java.nio.file.Path> configFiles
    • Constructor Detail

      • DefaultConfigurator

        public DefaultConfigurator()
    • Method Detail

      • loadConfigurationFromStream

        private Configuration loadConfigurationFromStream​(java.io.InputStream stream)
                                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • loadDefaultConfiguration

        private Configuration loadDefaultConfiguration()
      • loadConfiguration

        private Configuration loadConfiguration​(java.nio.file.Path path)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • getEnvDefault

        private java.lang.String getEnvDefault​(java.lang.String key,
                                               java.lang.Object defaultValue)
      • addConfigFile

        private void addConfigFile​(java.nio.file.Path file)
      • addConfigDir

        private void addConfigDir​(java.nio.file.Path directory)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • addXdgBasePath

        private void addXdgBasePath​(java.lang.String location)
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • getDefaultConfiguration

        public Configuration getDefaultConfiguration()
        Description copied from interface: Configurator
        Returns default XMvn configuration.

        Default configuration is minimal correct configuration that is embedded in XMvn itself. It doesn't contain any customizations coming from configuration files. Default configuration can be useful as a base on which configuration is built dynamically during runtime.

        Specified by:
        getDefaultConfiguration in interface Configurator
        Returns:
        default configuration
      • getConfiguration

        public Configuration getConfiguration()
        Description copied from interface: Configurator
        Returns XMvn master configuration.

        Master configuration is combination of multiple configuration files coming from various sources, merged in certain way. See XMvn documentation for detailed information where master configuration is read from and how it's merged.

        Specified by:
        getConfiguration in interface Configurator
        Returns:
        master configuration
      • dumpConfiguration

        public void dumpConfiguration()