Class MultiPropertyResourceBundle
- java.lang.Object
-
- java.util.ResourceBundle
-
- tech.units.indriya.internal.format.l10n.MultiPropertyResourceBundle
-
public class MultiPropertyResourceBundle extends java.util.ResourceBundleExtendsResourceBundlewith 2 new capabilities. The first is to store the path where the properties file used to create theInputStreamis located and the second is to allow additionalResourceBundleproperties to be merged into an instance.To allow a
SystemOfUnitsto locate and merge extension module properties files.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.StringBuildermergedBundlePathsAStringBuilderinstance containing all the paths of theResourceBundleinstances that have been merged into this instance.private java.lang.StringresourcePathThe location of the properties file that was used to instantiate theMultiPropertyResourceBundleinstance.private java.util.Map<java.lang.String,java.lang.Object>resourcesAMapcontaining all the properties that have been merged from multipleResourceBundleinstances.
-
Constructor Summary
Constructors Constructor Description MultiPropertyResourceBundle(java.io.InputStream stream, java.lang.String resourcePath)Instantiates a newMultiPropertyResourceBundle.MultiPropertyResourceBundle(java.util.ResourceBundle baseBundle, java.lang.String resourcePath)Constructor for instantiating from an existingResourceBundle.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontainsKey(java.lang.String key)Overrides the super class implementation to check the existence of a key across all merged bundlesjava.util.Enumeration<java.lang.String>getKeys()Overrides the super class implementation to return an enumeration of keys from all the merged bundlesjava.lang.StringBuildergetMergedBundlePaths()java.lang.StringgetResourcePath()java.lang.ObjecthandleGetObject(java.lang.String key)Overrides the super class implementation to return an object located in the merged bundlesprotected java.util.Set<java.lang.String>handleKeySet()Overrides the super class implementation to return theSetof keys from all merged bundlesjava.util.Set<java.lang.String>keySet()Overrides the super class implementation to return theSetof keys from all merged bundlesvoidmerge(java.util.ResourceBundle resourceBundle, java.lang.String resourcePath)Merges the properties of aResourceBundleinto the currentMultiPropertyResourceBundleinstance.
-
-
-
Field Detail
-
resourcePath
private java.lang.String resourcePath
The location of the properties file that was used to instantiate the
MultiPropertyResourceBundleinstance. This field is set by the constructor.
-
resources
private final java.util.Map<java.lang.String,java.lang.Object> resources
A
Mapcontaining all the properties that have been merged from multipleResourceBundleinstances.
-
mergedBundlePaths
private final java.lang.StringBuilder mergedBundlePaths
A
StringBuilderinstance containing all the paths of theResourceBundleinstances 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 theAbstractWebScriptclass.
-
-
Constructor Detail
-
MultiPropertyResourceBundle
public MultiPropertyResourceBundle(java.io.InputStream stream, java.lang.String resourcePath) throws java.io.IOExceptionInstantiates a new
MultiPropertyResourceBundle.- Parameters:
stream- TheInputStreampassed on to the super class constructor.resourcePath- The location of the properties file used to create theInputStream- Throws:
java.io.IOException
-
MultiPropertyResourceBundle
public MultiPropertyResourceBundle(java.util.ResourceBundle baseBundle, java.lang.String resourcePath)Constructor for instantiating from an existing
ResourceBundle. This calls themergemethod to copy the properties from the bundle into theresourcesmap.- Parameters:
baseBundle-resourcePath-
-
-
Method Detail
-
getResourcePath
public java.lang.String getResourcePath()
- Returns:
- The location of the properties file that was used to instantiate the
MultiPropertyResourceBundleinstance.
-
getMergedBundlePaths
public java.lang.StringBuilder getMergedBundlePaths()
- Returns:
- Returns the
StringBuilderinstance containing the paths of all theResourceBundleinstances that have been merged into this instance.
-
merge
public void merge(java.util.ResourceBundle resourceBundle, java.lang.String resourcePath)Merges the properties of a
ResourceBundleinto the currentMultiPropertyResourceBundleinstance. This will override any values mapped to duplicate keys in the current merged properties.- Parameters:
resourceBundle- TheResourceBundleto 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:
handleGetObjectin classjava.util.ResourceBundle- Returns:
- An
Objectfrom 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:
getKeysin classjava.util.ResourceBundle- Returns:
- An
Enumerationof the keys across all the merged bundles.
-
handleKeySet
protected java.util.Set<java.lang.String> handleKeySet()
Overrides the super class implementation to return the
Setof keys from all merged bundles- Overrides:
handleKeySetin classjava.util.ResourceBundle- Returns:
- A
Setof 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:
containsKeyin classjava.util.ResourceBundle- Returns:
trueif the key is present andfalseotherwise.
-
keySet
public java.util.Set<java.lang.String> keySet()
Overrides the super class implementation to return the
Setof keys from all merged bundles- Overrides:
keySetin classjava.util.ResourceBundle- Returns:
- A
Setof keys obtained from all merged bundles
-
-