Class PropertiesHelper


  • public final class PropertiesHelper
    extends java.lang.Object
    Helper class containing convenience methods for reading org.glassfish.jersey.server.ResourceConfig and Configuration properties.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.util.logging.Logger LOGGER  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private PropertiesHelper()
      Prevent instantiation.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <T> T convertValue​(java.lang.Object value, java.lang.Class<T> type)
      Convert Object value to a value of the specified class type.
      private static java.lang.Object getLegacyFallbackValue​(java.util.Map<java.lang.String,​?> properties, java.util.Map<java.lang.String,​java.lang.String> legacyFallbackMap, java.lang.String key)  
      static java.lang.String getPropertyNameForRuntime​(java.lang.String key, javax.ws.rs.RuntimeType runtimeType)
      Returns specific property value for given RuntimeType.
      static java.security.PrivilegedAction<java.util.Properties> getSystemProperties()
      Get system properties.
      static java.security.PrivilegedAction<java.lang.String> getSystemProperty​(java.lang.String name)
      Get system property.
      static java.security.PrivilegedAction<java.lang.String> getSystemProperty​(java.lang.String name, java.lang.String def)
      Get system property.
      static <T> T getValue​(java.util.Map<java.lang.String,​?> properties, java.lang.String key, java.lang.Class<T> type, java.util.Map<java.lang.String,​java.lang.String> legacyMap)
      Returns value of a specified property.
      static <T> T getValue​(java.util.Map<java.lang.String,​?> properties, java.lang.String key, T defaultValue, java.lang.Class<T> type, java.util.Map<java.lang.String,​java.lang.String> legacyMap)
      Returns value of a specified property.
      static <T> T getValue​(java.util.Map<java.lang.String,​?> properties, java.lang.String key, T defaultValue, java.util.Map<java.lang.String,​java.lang.String> legacyMap)
      Return value of a specified property.
      static <T> T getValue​(java.util.Map<java.lang.String,​?> properties, javax.ws.rs.RuntimeType runtimeType, java.lang.String key, java.lang.Class<T> type, java.util.Map<java.lang.String,​java.lang.String> legacyMap)
      Returns value of a specified property.
      static <T> T getValue​(java.util.Map<java.lang.String,​?> properties, javax.ws.rs.RuntimeType runtimeType, java.lang.String key, T defaultValue, java.lang.Class<T> type, java.util.Map<java.lang.String,​java.lang.String> legacyMap)
      Returns value of a specified property.
      static <T> T getValue​(java.util.Map<java.lang.String,​?> properties, javax.ws.rs.RuntimeType runtimeType, java.lang.String key, T defaultValue, java.util.Map<java.lang.String,​java.lang.String> legacyMap)
      Return value of a specified property.
      static boolean isProperty​(java.lang.Object value)
      Get the value of the property converted to boolean.
      static boolean isProperty​(java.util.Map<java.lang.String,​java.lang.Object> properties, java.lang.String name)
      Get the value of the property with a given name converted to boolean.
      • Methods inherited from class java.lang.Object

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

      • LOGGER

        private static final java.util.logging.Logger LOGGER
    • Constructor Detail

      • PropertiesHelper

        private PropertiesHelper()
        Prevent instantiation.
    • Method Detail

      • getSystemProperties

        public static java.security.PrivilegedAction<java.util.Properties> getSystemProperties()
        Get system properties. This method delegates to System.getProperties() while running it in a privileged code block.
        Returns:
        privileged action to obtain system properties.
      • getSystemProperty

        public static java.security.PrivilegedAction<java.lang.String> getSystemProperty​(java.lang.String name)
        Get system property. This method delegates to System.getProperty(String) while running it in a privileged code block.
        Parameters:
        name - system property name.
        Returns:
        privileged action to obtain system property value that will return null if there's no such system property.
      • getSystemProperty

        public static java.security.PrivilegedAction<java.lang.String> getSystemProperty​(java.lang.String name,
                                                                                         java.lang.String def)
        Get system property. This method delegates to System.getProperty(String) while running it in a privileged code block.
        Parameters:
        name - system property name.
        def - default property value.
        Returns:
        privileged action to obtain system property value that will return the default value if there's no such system property.
      • getValue

        public static <T> T getValue​(java.util.Map<java.lang.String,​?> properties,
                                     java.lang.String key,
                                     T defaultValue,
                                     java.util.Map<java.lang.String,​java.lang.String> legacyMap)
        Return value of a specified property. If the property is not set or the real value type is not compatible with defaultValue type, the specified defaultValue is returned. Calling this method is equivalent to calling PropertyHelper.getValue(properties, key, defaultValue, (Class<T>) defaultValue.getClass())
        Type Parameters:
        T - Type of the property value.
        Parameters:
        properties - Map of properties to get the property value from.
        key - Name of the property.
        defaultValue - Default value to be returned if the specified property is not set or cannot be read.
        legacyMap - Legacy fallback map, where key is the actual property name, value is the old property name
        Returns:
        Value of the property or defaultValue.
      • getValue

        public static <T> T getValue​(java.util.Map<java.lang.String,​?> properties,
                                     javax.ws.rs.RuntimeType runtimeType,
                                     java.lang.String key,
                                     T defaultValue,
                                     java.util.Map<java.lang.String,​java.lang.String> legacyMap)
        Return value of a specified property. If the property is not set or the real value type is not compatible with defaultValue type, the specified defaultValue is returned. Calling this method is equivalent to calling PropertyHelper.getValue(properties, runtimeType, key, defaultValue, (Class<T>) defaultValue.getClass())
        Type Parameters:
        T - Type of the property value.
        Parameters:
        properties - Map of properties to get the property value from.
        runtimeType - Runtime type which is used to check whether there is a property with the same key but post-fixed by runtime type (.server or .client) which would override the key property.
        key - Name of the property.
        defaultValue - Default value to be returned if the specified property is not set or cannot be read.
        legacyMap - Legacy fallback map, where key is the actual property name, value is the old property name
        Returns:
        Value of the property or defaultValue.
      • getValue

        public static <T> T getValue​(java.util.Map<java.lang.String,​?> properties,
                                     java.lang.String key,
                                     T defaultValue,
                                     java.lang.Class<T> type,
                                     java.util.Map<java.lang.String,​java.lang.String> legacyMap)
        Returns value of a specified property. If the property is not set or the real value type is not compatible with the specified value type, returns defaultValue.
        Type Parameters:
        T - Type of the property value.
        Parameters:
        properties - Map of properties to get the property value from.
        key - Name of the property.
        defaultValue - Default value of the property.
        type - Type to retrieve the value as.
        legacyMap - Legacy fallback map, where key is the actual property name, value is the old property name
        Returns:
        Value of the property or null.
      • getValue

        public static <T> T getValue​(java.util.Map<java.lang.String,​?> properties,
                                     javax.ws.rs.RuntimeType runtimeType,
                                     java.lang.String key,
                                     T defaultValue,
                                     java.lang.Class<T> type,
                                     java.util.Map<java.lang.String,​java.lang.String> legacyMap)
        Returns value of a specified property. If the property is not set or the real value type is not compatible with the specified value type, returns defaultValue.
        Type Parameters:
        T - Type of the property value.
        Parameters:
        properties - Map of properties to get the property value from.
        runtimeType - Runtime type which is used to check whether there is a property with the same key but post-fixed by runtime type (.server or .client) which would override the key property.
        key - Name of the property.
        defaultValue - Default value of the property.
        type - Type to retrieve the value as.
        legacyMap - Legacy fallback map, where key is the actual property name, value is the old property name
        Returns:
        Value of the property or null.
      • getValue

        public static <T> T getValue​(java.util.Map<java.lang.String,​?> properties,
                                     java.lang.String key,
                                     java.lang.Class<T> type,
                                     java.util.Map<java.lang.String,​java.lang.String> legacyMap)
        Returns value of a specified property. If the property is not set or the real value type is not compatible with the specified value type, returns null.
        Type Parameters:
        T - Type of the property value.
        Parameters:
        properties - Map of properties to get the property value from.
        key - Name of the property.
        type - Type to retrieve the value as.
        legacyMap - Legacy fallback map, where key is the actual property name, value is the old property name
        Returns:
        Value of the property or null.
      • getValue

        public static <T> T getValue​(java.util.Map<java.lang.String,​?> properties,
                                     javax.ws.rs.RuntimeType runtimeType,
                                     java.lang.String key,
                                     java.lang.Class<T> type,
                                     java.util.Map<java.lang.String,​java.lang.String> legacyMap)
        Returns value of a specified property. If the property is not set or the real value type is not compatible with the specified value type, returns null.
        Type Parameters:
        T - Type of the property value.
        Parameters:
        properties - Map of properties to get the property value from.
        runtimeType - Runtime type which is used to check whether there is a property with the same key but post-fixed by runtime type (.server or .client) which would override the key property.
        key - Name of the property.
        type - Type to retrieve the value as.
        Returns:
        Value of the property or null.
      • getPropertyNameForRuntime

        public static java.lang.String getPropertyNameForRuntime​(java.lang.String key,
                                                                 javax.ws.rs.RuntimeType runtimeType)
        Returns specific property value for given RuntimeType. Some properties have complementary client and server versions along with a common version (effective for both environments, if the specific one is not set). This methods returns a specific name for the environment (determined by convention), if runtime is not null, the property is a Jersey property name (starts with jersey.config) and does not contain a runtime specific part already. If those conditions are not met, original property name is returned.
        Parameters:
        key - property name
        runtimeType - runtime type
        Returns:
        runtime-specific property name, where possible, original key in other cases. original key
      • getLegacyFallbackValue

        private static java.lang.Object getLegacyFallbackValue​(java.util.Map<java.lang.String,​?> properties,
                                                               java.util.Map<java.lang.String,​java.lang.String> legacyFallbackMap,
                                                               java.lang.String key)
      • convertValue

        public static <T> T convertValue​(java.lang.Object value,
                                         java.lang.Class<T> type)
        Convert Object value to a value of the specified class type.
        Type Parameters:
        T - converted value type.
        Parameters:
        value - Object value to convert.
        type - conversion type.
        Returns:
        value converted to the specified class type.
      • isProperty

        public static boolean isProperty​(java.util.Map<java.lang.String,​java.lang.Object> properties,
                                         java.lang.String name)
        Get the value of the property with a given name converted to boolean. Returns false if the value is not convertible.
        Parameters:
        properties - key-value map of properties.
        name - property name.
        Returns:
        boolean property value or false if the property is not convertible.
      • isProperty

        public static boolean isProperty​(java.lang.Object value)
        Get the value of the property converted to boolean. Returns false if the value is not convertible.
        Parameters:
        value - property value.
        Returns:
        boolean property value or false if the property is not convertible.