Package org.apache.sshd.common
Class PropertyResolverUtils
- java.lang.Object
-
- org.apache.sshd.common.PropertyResolverUtils
-
public final class PropertyResolverUtils extends Object
- Author:
- Apache MINA SSHD Project
-
-
Field Summary
Fields Modifier and Type Field Description static NavigableSet<String>
FALSE_VALUES
static String
NONE_VALUE
static NavigableSet<String>
TRUE_VALUES
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Boolean
getBoolean(Map<String,?> props, String name)
static Boolean
getBoolean(PropertyResolver resolver, String name)
static boolean
getBooleanProperty(Map<String,?> props, String name, boolean defaultValue)
static boolean
getBooleanProperty(PropertyResolver resolver, String name, boolean defaultValue)
static Charset
getCharset(Map<String,?> props, String name, Charset defaultValue)
static Charset
getCharset(PropertyResolver resolver, String name, Charset defaultValue)
static Integer
getInteger(Map<String,?> props, String name)
static Integer
getInteger(PropertyResolver resolver, String name)
static int
getIntProperty(Map<String,?> props, String name, int defaultValue)
static int
getIntProperty(PropertyResolver resolver, String name, int defaultValue)
static Long
getLong(Map<String,?> props, String name)
static Long
getLong(PropertyResolver resolver, String name)
static long
getLongProperty(Map<String,?> props, String name, long defaultValue)
static long
getLongProperty(PropertyResolver resolver, String name, long defaultValue)
static Object
getObject(Map<String,?> props, String name)
static Object
getObject(PropertyResolver resolver, String name)
static String
getString(Map<String,?> props, String name)
static String
getString(PropertyResolver resolver, String name)
static String
getStringProperty(Map<String,?> props, String name, String defaultValue)
static String
getStringProperty(PropertyResolver resolver, String name, String defaultValue)
static boolean
isNoneValue(String v)
static Boolean
parseBoolean(String value)
static Map<String,Object>
resolvePropertiesSource(PropertyResolver resolver, String name)
Unwinds the resolvers hierarchy until found one with a non-null
value for the requested property or reached top.static Object
resolvePropertyValue(Map<String,?> props, String name)
static Object
resolvePropertyValue(PropertyResolver resolver, String name)
Unwinds the resolvers hierarchy until found one with a non-null
value for the requested property or reached top.static Boolean
toBoolean(Object value)
Attempts to convert the object into aBoolean
value as follows:static boolean
toBoolean(Object value, boolean defaultValue)
static Charset
toCharset(Object value)
static <E extends Enum<E>>
EtoEnum(Class<E> enumType, Object value, boolean failIfNoMatch, Collection<E> available)
Converts an enumerated configuration value:static Integer
toInteger(Object value)
static int
toInteger(Object value, int defaultValue)
static Long
toLong(Object value)
static long
toLong(Object value, long defaultValue)
Converts a generic object value to along
if possible: If value isnull
the default is returned If value is aNumber
then itsNumber.longValue()
is returned Otherwise, the value'stoString()
is parsed as along
static PropertyResolver
toPropertyResolver(Map<String,?> props)
Wraps aMap
into aPropertyResolver
so it can be used with these utilitiesstatic PropertyResolver
toPropertyResolver(Map<String,?> props, PropertyResolver parent)
static PropertyResolver
toPropertyResolver(Properties props)
static Object
updateProperty(Map<String,Object> props, String name, boolean value)
static Object
updateProperty(Map<String,Object> props, String name, int value)
static Object
updateProperty(Map<String,Object> props, String name, long value)
static Object
updateProperty(Map<String,Object> props, String name, Object value)
static Object
updateProperty(PropertyResolver resolver, String name, boolean value)
static Object
updateProperty(PropertyResolver resolver, String name, int value)
static Object
updateProperty(PropertyResolver resolver, String name, long value)
static Object
updateProperty(PropertyResolver resolver, String name, Object value)
-
-
-
Field Detail
-
NONE_VALUE
public static final String NONE_VALUE
- See Also:
- Constant Field Values
-
TRUE_VALUES
public static final NavigableSet<String> TRUE_VALUES
-
FALSE_VALUES
public static final NavigableSet<String> FALSE_VALUES
-
-
Method Detail
-
isNoneValue
public static boolean isNoneValue(String v)
- Parameters:
v
- Value to examine- Returns:
true
if equals to "none" - case insensitive
-
getLongProperty
public static long getLongProperty(PropertyResolver resolver, String name, long defaultValue)
- Parameters:
resolver
- ThePropertyResolver
instance - ignored ifnull
name
- The property namedefaultValue
- The default value to return if the specified property does not exist in the properties map- Returns:
- The resolved property
- Throws:
NumberFormatException
- if malformed value- See Also:
toLong(Object, long)
-
getLongProperty
public static long getLongProperty(Map<String,?> props, String name, long defaultValue)
-
toLong
public static long toLong(Object value, long defaultValue)
Converts a generic object value to along
if possible:-
If value is
null
the default is returned -
If value is a
Number
then itsNumber.longValue()
is returned -
Otherwise, the value's
toString()
is parsed as along
- Parameters:
value
- The resolved value - may benull
defaultValue
- The default to use ifnull
resolved value- Returns:
- The resolved value
- Throws:
NumberFormatException
- if malformed value- See Also:
Long.parseLong(String)
-
If value is
-
getLong
public static Long getLong(PropertyResolver resolver, String name)
- Parameters:
resolver
- ThePropertyResolver
instance - ignored ifnull
name
- The property name- Returns:
- The
Long
value ornull
if property not found - Throws:
NumberFormatException
- if malformed value- See Also:
toLong(Object)
-
toLong
public static Long toLong(Object value)
Converts a generic object into aLong
:-
If the value is
null
then returnsnull
. -
If the value is already a
Long
then it is returned as such. -
If value is a
Number
then itsNumber.longValue()
is wrapped as aLong
-
Otherwise, the value's
toString()
is parsed as aLong
- Parameters:
value
- The resolved value - may benull
- Returns:
- The
Long
value ornull
if property not found - Throws:
NumberFormatException
- if malformed value- See Also:
Long.valueOf(long)
,Long.valueOf(String)
-
If the value is
-
toEnum
public static <E extends Enum<E>> E toEnum(Class<E> enumType, Object value, boolean failIfNoMatch, Collection<E> available)
Converts an enumerated configuration value:-
If value is
null
then returnnull
- If value already of the expected type then simply cast and return it.
-
If value is a
CharSequence
then convert it to a string and look for a matching enumerated value name - case insensitive. >
- Type Parameters:
E
- Type of enumerated value- Parameters:
enumType
- The enumerated class typevalue
- The configured value - ignored ifnull
failIfNoMatch
- Whether to fail if no matching name foundavailable
- The available values to compare the name- Returns:
- The matching enumerated value -
null
if no match found - Throws:
IllegalArgumentException
- If value is neithernull
, nor the enumerated type nor aCharSequence
NoSuchElementException
- If no matching string name found and failIfNoMatch istrue
-
If value is
-
updateProperty
public static Object updateProperty(PropertyResolver resolver, String name, long value)
-
updateProperty
public static Object updateProperty(Map<String,Object> props, String name, long value)
-
getIntProperty
public static int getIntProperty(PropertyResolver resolver, String name, int defaultValue)
-
getIntProperty
public static int getIntProperty(Map<String,?> props, String name, int defaultValue)
-
toInteger
public static int toInteger(Object value, int defaultValue)
-
getInteger
public static Integer getInteger(PropertyResolver resolver, String name)
-
updateProperty
public static Object updateProperty(PropertyResolver resolver, String name, int value)
-
updateProperty
public static Object updateProperty(Map<String,Object> props, String name, int value)
-
getBooleanProperty
public static boolean getBooleanProperty(PropertyResolver resolver, String name, boolean defaultValue)
-
getBooleanProperty
public static boolean getBooleanProperty(Map<String,?> props, String name, boolean defaultValue)
-
toBoolean
public static boolean toBoolean(Object value, boolean defaultValue)
- Parameters:
value
- The value to convertdefaultValue
- The default value to return if value isnull
or and empty string, then returns the default value.- Returns:
- The resolved value
- See Also:
toBoolean(Object)
-
getBoolean
public static Boolean getBoolean(PropertyResolver resolver, String name)
-
toBoolean
public static Boolean toBoolean(Object value)
Attempts to convert the object into a
Boolean
value as follows:-
If
null
or an empty string then returnnull
. -
If already a
Boolean
then return as-is -
If a
CharSequence
then invokeparseBoolean(String)
-
Otherwise, throws an
UnsupportedOperationException
- Parameters:
value
- The value to be converted- Returns:
- The result -
null
ifnull
or an empty string - Throws:
UnsupportedOperationException
- If value cannot be converted to a boolean - e.g., a number.- See Also:
parseBoolean(String)
-
If
-
parseBoolean
public static Boolean parseBoolean(String value)
- Parameters:
value
- The value to parse- Returns:
- The result -
null
if value isnull
/empty - Throws:
IllegalArgumentException
- If non-empty string that does not match (case insensitive) either of the known values for boolean.
-
updateProperty
public static Object updateProperty(PropertyResolver resolver, String name, boolean value)
-
updateProperty
public static Object updateProperty(Map<String,Object> props, String name, boolean value)
-
getStringProperty
public static String getStringProperty(PropertyResolver resolver, String name, String defaultValue)
- Parameters:
resolver
- ThePropertyResolver
to use - ignored ifnull
name
- The property namedefaultValue
- The default value to return if property not set or empty- Returns:
- The set value (if not
null
/empty) or default one
-
getStringProperty
public static String getStringProperty(Map<String,?> props, String name, String defaultValue)
-
getCharset
public static Charset getCharset(PropertyResolver resolver, String name, Charset defaultValue)
-
getCharset
public static Charset getCharset(Map<String,?> props, String name, Charset defaultValue)
-
getString
public static String getString(PropertyResolver resolver, String name)
-
getObject
public static Object getObject(PropertyResolver resolver, String name)
-
updateProperty
public static Object updateProperty(PropertyResolver resolver, String name, Object value)
- Parameters:
resolver
- ThePropertyResolver
instancename
- The property namevalue
- The new value - ifnull
or an emptyCharSequence
the property is removed- Returns:
- The previous value -
null
if none
-
updateProperty
public static Object updateProperty(Map<String,Object> props, String name, Object value)
-
resolvePropertyValue
public static Object resolvePropertyValue(PropertyResolver resolver, String name)
Unwinds the resolvers hierarchy until found one with a non-null
value for the requested property or reached top. If still no value found and the key starts with "org.apache.sshd" then the system properties are also consulted- Parameters:
resolver
- ThePropertyResolver
to start from - ignored ifnull
name
- The requested property name- Returns:
- The found value or
null
-
resolvePropertiesSource
public static Map<String,Object> resolvePropertiesSource(PropertyResolver resolver, String name)
Unwinds the resolvers hierarchy until found one with a non-null
value for the requested property or reached top.- Parameters:
resolver
- ThePropertyResolver
to start from - ignored ifnull
name
- The requested property name- Returns:
- The found properties
Map
ornull
-
toPropertyResolver
public static PropertyResolver toPropertyResolver(Properties props)
-
toPropertyResolver
public static PropertyResolver toPropertyResolver(Map<String,?> props)
Wraps aMap
into aPropertyResolver
so it can be used with these utilities- Parameters:
props
- The properties map - may benull
/empty if no properties are updated- Returns:
- The resolver wrapper
-
toPropertyResolver
public static PropertyResolver toPropertyResolver(Map<String,?> props, PropertyResolver parent)
-
-