Class TypedProperties

All Implemented Interfaces:
Serializable, Cloneable, Map<Object,Object>

public class TypedProperties extends Properties
Type-aware properties. Extends the JDK Properties class to provide accessors that convert values to certain types, using default values if a conversion is not possible.
Since:
4.0
Author:
Manik Surtani
See Also:
  • Constructor Details

    • TypedProperties

      public TypedProperties(Map<?,?> p)
      Copy constructor
      Parameters:
      p - properties instance to from. If null, then it is treated as an empty Properties instance.
    • TypedProperties

      public TypedProperties()
      Default constructor that returns an empty instance
  • Method Details

    • toTypedProperties

      public static TypedProperties toTypedProperties(Map<?,?> p)
      Factory method that converts a JDK Map (including Properties instance to an instance of TypedProperties, if needed.
      Parameters:
      p - properties to convert.
      Returns:
      A TypedProperties object. Returns an empty TypedProperties instance if p is null.
    • getIntProperty

      public int getIntProperty(String key, int defaultValue)
    • getIntProperty

      public int getIntProperty(String key, int defaultValue, boolean doStringReplace)
    • getLongProperty

      public long getLongProperty(String key, long defaultValue)
    • getLongProperty

      public long getLongProperty(String key, long defaultValue, boolean doStringReplace)
    • getDurationProperty

      public long getDurationProperty(String key, long defaultValue)
    • getDurationProperty

      public long getDurationProperty(String key, long defaultValue, boolean doStringReplace)
    • getBooleanProperty

      public boolean getBooleanProperty(String key, boolean defaultValue)
    • getBooleanProperty

      public boolean getBooleanProperty(String key, boolean defaultValue, boolean doStringReplace)
    • getEnumProperty

      public <T extends Enum<T>> T getEnumProperty(String key, Class<T> enumClass, T defaultValue)
    • getEnumProperty

      public <T extends Enum<T>> T getEnumProperty(String key, Class<T> enumClass, T defaultValue, boolean doStringReplace)
    • getProperty

      public String getProperty(String key, String defaultValue, boolean doStringReplace)
      Get the property associated with the key, optionally applying string property replacement as defined in StringPropertyReplacer.replaceProperties(java.lang.String) to the result.
      Parameters:
      key - the hashtable key.
      defaultValue - a default value.
      doStringReplace - boolean indicating whether to apply string property replacement
      Returns:
      the value in this property list with the specified key value after optionally being inspected for String property replacement
    • getProperty

      public String getProperty(String key, boolean doStringReplace)
      Get the property associated with the key, optionally applying string property replacement as defined in StringPropertyReplacer.replaceProperties(java.lang.String) to the result.
      Parameters:
      key - the hashtable key.
      doStringReplace - boolean indicating whether to apply string property replacement
      Returns:
      the value in this property list with the specified key value after optionally being inspected for String property replacement
    • putIfAbsent

      public TypedProperties putIfAbsent(String key, String value)
      Put a value if the associated key is not present
      Parameters:
      key - new key
      value - new value
      Returns:
      this TypedProperties instance for method chaining
    • setProperty

      public TypedProperties setProperty(String key, String value)
      Overrides:
      setProperty in class Properties
    • setProperty

      public TypedProperties setProperty(String key, int value)
    • setProperty

      public TypedProperties setProperty(String key, long value)
    • setProperty

      public TypedProperties setProperty(String key, boolean value)