Class UnityPropertiesHelper

  • All Implemented Interfaces:
    eu.unicore.util.configuration.PropertiesHelperAPI, eu.unicore.util.configuration.UpdateableConfiguration, Cloneable

    public class UnityPropertiesHelper
    extends eu.unicore.util.configuration.PropertiesHelper
    Extends PropertiesHelper with Unity specific methods: returning localized strings and caching of getSortedStringKeys(String, boolean) method results.
    Author:
    K. Benedyczak
    • Constructor Detail

      • UnityPropertiesHelper

        public UnityPropertiesHelper​(String prefix,
                                     Properties properties,
                                     Map<String,​eu.unicore.util.configuration.PropertyMD> propertiesMD,
                                     org.apache.logging.log4j.Logger log)
      • UnityPropertiesHelper

        protected UnityPropertiesHelper​(UnityPropertiesHelper cloned)
        For cloning
        Parameters:
        cloned -
    • Method Detail

      • addCachedPrefixes

        public void addCachedPrefixes​(String... prefixRegexp)
        All properties which start with the given regexp will be cached in a way that all properties starting with this prefix can be quickly retrieved using getSortedStringKeys(String, boolean). This also optimizes uses of PropertiesHelper.getListOfValues(String) which relies on the above methods. Note that the regexp must include the main prefix of this properties object.
        Parameters:
        prefixRegexp -
      • setProperties

        public void setProperties​(Properties properties)
        Specified by:
        setProperties in interface eu.unicore.util.configuration.PropertiesHelperAPI
        Specified by:
        setProperties in interface eu.unicore.util.configuration.UpdateableConfiguration
        Overrides:
        setProperties in class eu.unicore.util.configuration.PropertiesHelper
      • setProperty

        public void setProperty​(String key,
                                String value)
        Specified by:
        setProperty in interface eu.unicore.util.configuration.PropertiesHelperAPI
        Overrides:
        setProperty in class eu.unicore.util.configuration.PropertiesHelper
      • refillCache

        protected void refillCache()
      • cacheIfNeeded

        protected void cacheIfNeeded​(String key)
      • isCached

        protected boolean isCached​(String key)
      • getSortedStringKeys

        protected Set<String> getSortedStringKeys​(String base,
                                                  boolean allowListSubKeys)
        Overrides:
        getSortedStringKeys in class eu.unicore.util.configuration.PropertiesHelper
      • getLocalizedString

        public I18nString getLocalizedString​(MessageSource msg,
                                             String baseKey)
        Parameters:
        msg -
        baseKey - Property name (without the prefix).
        Returns:
        localized string of the given property. Default value is set to the regular value of the property. All sub values of the base key are used as localized values, assuming their subkey is equal to one of supported locales.
      • getLocalizedStringWithoutFallbackToDefault

        public I18nString getLocalizedStringWithoutFallbackToDefault​(MessageSource msg,
                                                                     String baseKey)
      • getLocalizedValueWithOutFallbackToDefault

        public String getLocalizedValueWithOutFallbackToDefault​(String key,
                                                                Locale locale)
      • getAsString

        public String getAsString()