Class MultiPropertyResourceBundle


  • public class MultiPropertyResourceBundle
    extends java.util.ResourceBundle
    Extends ResourceBundle with 2 new capabilities. The first is to store the path where the properties file used to create the InputStream is located and the second is to allow additional ResourceBundle properties to be merged into an instance.

    To allow a SystemOfUnits to locate and merge extension module properties files.

    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.util.ResourceBundle

        java.util.ResourceBundle.Control
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.StringBuilder mergedBundlePaths
      A StringBuilder instance containing all the paths of the ResourceBundle instances that have been merged into this instance.
      private java.lang.String resourcePath
      The location of the properties file that was used to instantiate the MultiPropertyResourceBundle instance.
      private java.util.Map<java.lang.String,​java.lang.Object> resources
      A Map containing all the properties that have been merged from multiple ResourceBundle instances.
      • Fields inherited from class java.util.ResourceBundle

        parent
    • Constructor Summary

      Constructors 
      Constructor Description
      MultiPropertyResourceBundle​(java.io.InputStream stream, java.lang.String resourcePath)
      Instantiates a new MultiPropertyResourceBundle.
      MultiPropertyResourceBundle​(java.util.ResourceBundle baseBundle, java.lang.String resourcePath)
      Constructor for instantiating from an existing ResourceBundle.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean containsKey​(java.lang.String key)
      Overrides the super class implementation to check the existence of a key across all merged bundles
      java.util.Enumeration<java.lang.String> getKeys()
      Overrides the super class implementation to return an enumeration of keys from all the merged bundles
      java.lang.StringBuilder getMergedBundlePaths()  
      java.lang.String getResourcePath()  
      java.lang.Object handleGetObject​(java.lang.String key)
      Overrides the super class implementation to return an object located in the merged bundles
      protected java.util.Set<java.lang.String> handleKeySet()
      Overrides the super class implementation to return the Set of keys from all merged bundles
      java.util.Set<java.lang.String> keySet()
      Overrides the super class implementation to return the Set of keys from all merged bundles
      void merge​(java.util.ResourceBundle resourceBundle, java.lang.String resourcePath)
      Merges the properties of a ResourceBundle into the current MultiPropertyResourceBundle instance.
      • Methods inherited from class java.util.ResourceBundle

        clearCache, clearCache, getBaseBundleName, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getBundle, getLocale, getObject, getString, getStringArray, setParent
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • resourcePath

        private java.lang.String resourcePath

        The location of the properties file that was used to instantiate the MultiPropertyResourceBundle instance. This field is set by the constructor.

      • resources

        private final java.util.Map<java.lang.String,​java.lang.Object> resources

        A Map containing all the properties that have been merged from multiple ResourceBundle instances.

      • mergedBundlePaths

        private final java.lang.StringBuilder mergedBundlePaths

        A StringBuilder instance containing all the paths of the ResourceBundle instances that have been merged into this instance. This value is intended to be use to help generate a key for caching JSON formatted resource output in the AbstractWebScript class.

    • Constructor Detail

      • MultiPropertyResourceBundle

        public MultiPropertyResourceBundle​(java.io.InputStream stream,
                                           java.lang.String resourcePath)
                                    throws java.io.IOException

        Instantiates a new MultiPropertyResourceBundle.

        Parameters:
        stream - The InputStream passed on to the super class constructor.
        resourcePath - The location of the properties file used to create the InputStream
        Throws:
        java.io.IOException
      • MultiPropertyResourceBundle

        public MultiPropertyResourceBundle​(java.util.ResourceBundle baseBundle,
                                           java.lang.String resourcePath)

        Constructor for instantiating from an existing ResourceBundle. This calls the merge method to copy the properties from the bundle into the resources map.

        Parameters:
        baseBundle -
        resourcePath -
    • Method Detail

      • getResourcePath

        public java.lang.String getResourcePath()
        Returns:
        The location of the properties file that was used to instantiate the MultiPropertyResourceBundle instance.
      • getMergedBundlePaths

        public java.lang.StringBuilder getMergedBundlePaths()
        Returns:
        Returns the StringBuilder instance containing the paths of all the ResourceBundle instances that have been merged into this instance.
      • merge

        public void merge​(java.util.ResourceBundle resourceBundle,
                          java.lang.String resourcePath)

        Merges the properties of a ResourceBundle into the current MultiPropertyResourceBundle instance. This will override any values mapped to duplicate keys in the current merged properties.

        Parameters:
        resourceBundle - The ResourceBundle to merge the properties of.
        resourcePath -
      • handleGetObject

        public java.lang.Object handleGetObject​(java.lang.String key)

        Overrides the super class implementation to return an object located in the merged bundles

        Specified by:
        handleGetObject in class java.util.ResourceBundle
        Returns:
        An Object from the merged bundles
      • getKeys

        public java.util.Enumeration<java.lang.String> getKeys()

        Overrides the super class implementation to return an enumeration of keys from all the merged bundles

        Specified by:
        getKeys in class java.util.ResourceBundle
        Returns:
        An Enumeration of the keys across all the merged bundles.
      • handleKeySet

        protected java.util.Set<java.lang.String> handleKeySet()

        Overrides the super class implementation to return the Set of keys from all merged bundles

        Overrides:
        handleKeySet in class java.util.ResourceBundle
        Returns:
        A Set of keys obtained from all merged bundles
      • containsKey

        public boolean containsKey​(java.lang.String key)

        Overrides the super class implementation to check the existence of a key across all merged bundles

        Overrides:
        containsKey in class java.util.ResourceBundle
        Returns:
        true if the key is present and false otherwise.
      • keySet

        public java.util.Set<java.lang.String> keySet()

        Overrides the super class implementation to return the Set of keys from all merged bundles

        Overrides:
        keySet in class java.util.ResourceBundle
        Returns:
        A Set of keys obtained from all merged bundles