Class MultiPropertiesConfig

  • All Implemented Interfaces:
    Direct Known Subclasses:

    public abstract class MultiPropertiesConfig
    extends java.lang.Object
    implements PropertiesConfig
    MultiPropertiesConfig allows applications to accept configuration data from a more than one property file (each of which is to be loaded from a unique path using this class' ClassLoader's resource-loading mechanism), and permits access to property data via the resource path from which the properties were loaded, via the prefix of the property (where hierarchical property names are presumed to be '.'-separated), and simply by key. In the by-key and by-prefix indices, when two definitions conflict, the key value pairing specified in the MOST RECENT properties file shadows earlier definitions, and files are loaded in the order of the list of resource paths provided a constructor. The resource path "/" is a special case that always refers to System properties. No actual resource will be loaded. If the mchange-hocon-bridge jar file is available, resource paths specified as "hocon:/path/to/resource" will be parsed as HOCON, whenever values can be interpreted as Strings. The class manages a special instance called "vmConfig" which is accessable via a static method. It's resource path is list specified by a text-file, itself a ClassLoader managed resource, which may be located at /com/mchange/v2/cfg/vmConfigResourcePaths.txt or /mchange-config-resource-paths.txt. This file should be one resource path per line, with blank lines ignored and lines beginning with '#' treated as comments. If no text file of resource paths are available, the following resources are checked: "/", "hocon:/reference,/application,/", "/" See HoconPropertiesConfigSource for information on HOCON identifiers.
    • Constructor Detail

      • MultiPropertiesConfig

        public MultiPropertiesConfig()
    • Method Detail

      • readVmConfig

        public static MultiPropertiesConfig readVmConfig​(java.lang.String[] defaultResources,
                                                         java.lang.String[] preemptingResources)
        Please use the MConfig facade class to acquire configuration
      • readVmConfig

        public static MultiPropertiesConfig readVmConfig()
        Please use the MConfig facade class to acquire configuration
      • fromProperties

        public static MultiPropertiesConfig fromProperties​(java.lang.String notionalResourcePath,
                                                           java.util.Properties props)
      • getPropertiesResourcePaths

        public abstract java.lang.String[] getPropertiesResourcePaths()
      • getPropertiesByResourcePath

        public abstract java.util.Properties getPropertiesByResourcePath​(java.lang.String path)
      • getPropertiesByPrefix

        public abstract java.util.Properties getPropertiesByPrefix​(java.lang.String pfx)
        The special prefix "" returns all the Properties
        Specified by:
        getPropertiesByPrefix in interface PropertiesConfig
      • getProperty

        public abstract java.lang.String getProperty​(java.lang.String key)
        Specified by:
        getProperty in interface PropertiesConfig
      • getDelayedLogItems

        public abstract java.util.List getDelayedLogItems()