Package org.apache.sshd.common
Class PropertyResolverUtils
- java.lang.Object
-
- org.apache.sshd.common.PropertyResolverUtils
-
public final class PropertyResolverUtils extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.NavigableSet<java.lang.String>
FALSE_VALUES
static java.lang.String
NONE_VALUE
static java.util.NavigableSet<java.lang.String>
TRUE_VALUES
-
Constructor Summary
Constructors Modifier Constructor Description private
PropertyResolverUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.Boolean
getBoolean(java.util.Map<java.lang.String,?> props, java.lang.String name)
static java.lang.Boolean
getBoolean(PropertyResolver resolver, java.lang.String name)
static boolean
getBooleanProperty(java.util.Map<java.lang.String,?> props, java.lang.String name, boolean defaultValue)
static boolean
getBooleanProperty(PropertyResolver resolver, java.lang.String name, boolean defaultValue)
static java.nio.charset.Charset
getCharset(java.util.Map<java.lang.String,?> props, java.lang.String name, java.nio.charset.Charset defaultValue)
static java.nio.charset.Charset
getCharset(PropertyResolver resolver, java.lang.String name, java.nio.charset.Charset defaultValue)
static java.lang.Integer
getInteger(java.util.Map<java.lang.String,?> props, java.lang.String name)
static java.lang.Integer
getInteger(PropertyResolver resolver, java.lang.String name)
static int
getIntProperty(java.util.Map<java.lang.String,?> props, java.lang.String name, int defaultValue)
static int
getIntProperty(PropertyResolver resolver, java.lang.String name, int defaultValue)
static java.lang.Long
getLong(java.util.Map<java.lang.String,?> props, java.lang.String name)
static java.lang.Long
getLong(PropertyResolver resolver, java.lang.String name)
static long
getLongProperty(java.util.Map<java.lang.String,?> props, java.lang.String name, long defaultValue)
static long
getLongProperty(PropertyResolver resolver, java.lang.String name, long defaultValue)
static java.lang.Object
getObject(java.util.Map<java.lang.String,?> props, java.lang.String name)
static java.lang.Object
getObject(PropertyResolver resolver, java.lang.String name)
static java.lang.String
getString(java.util.Map<java.lang.String,?> props, java.lang.String name)
static java.lang.String
getString(PropertyResolver resolver, java.lang.String name)
static java.lang.String
getStringProperty(java.util.Map<java.lang.String,?> props, java.lang.String name, java.lang.String defaultValue)
static java.lang.String
getStringProperty(PropertyResolver resolver, java.lang.String name, java.lang.String defaultValue)
static boolean
isNoneValue(java.lang.String v)
static java.lang.Boolean
parseBoolean(java.lang.String value)
static java.util.Map<java.lang.String,java.lang.Object>
resolvePropertiesSource(PropertyResolver resolver, java.lang.String name)
Unwinds the resolvers hierarchy until found one with a non-null
value for the requested property or reached top.static java.lang.Object
resolvePropertyValue(java.util.Map<java.lang.String,?> props, java.lang.String name)
static java.lang.Object
resolvePropertyValue(PropertyResolver resolver, java.lang.String name)
Unwinds the resolvers hierarchy until found one with a non-null
value for the requested property or reached top.static java.lang.Boolean
toBoolean(java.lang.Object value)
Attempts to convert the object into aBoolean
value as follows:static boolean
toBoolean(java.lang.Object value, boolean defaultValue)
static java.nio.charset.Charset
toCharset(java.lang.Object value)
static <E extends java.lang.Enum<E>>
EtoEnum(java.lang.Class<E> enumType, java.lang.Object value, boolean failIfNoMatch, java.util.Collection<E> available)
Converts an enumerated configuration value:static java.lang.Integer
toInteger(java.lang.Object value)
static int
toInteger(java.lang.Object value, int defaultValue)
static java.lang.Long
toLong(java.lang.Object value)
Converts a generic object into aLong
: If the value isnull
then returnsnull
.static long
toLong(java.lang.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(java.util.Map<java.lang.String,?> props)
Wraps aMap
into aPropertyResolver
so it can be used with these utilitiesstatic PropertyResolver
toPropertyResolver(java.util.Map<java.lang.String,?> props, PropertyResolver parent)
static PropertyResolver
toPropertyResolver(java.util.Properties props)
static java.lang.Object
updateProperty(java.util.Map<java.lang.String,java.lang.Object> props, java.lang.String name, boolean value)
static java.lang.Object
updateProperty(java.util.Map<java.lang.String,java.lang.Object> props, java.lang.String name, int value)
static java.lang.Object
updateProperty(java.util.Map<java.lang.String,java.lang.Object> props, java.lang.String name, long value)
static java.lang.Object
updateProperty(java.util.Map<java.lang.String,java.lang.Object> props, java.lang.String name, java.lang.Object value)
static java.lang.Object
updateProperty(PropertyResolver resolver, java.lang.String name, boolean value)
static java.lang.Object
updateProperty(PropertyResolver resolver, java.lang.String name, int value)
static java.lang.Object
updateProperty(PropertyResolver resolver, java.lang.String name, long value)
static java.lang.Object
updateProperty(PropertyResolver resolver, java.lang.String name, java.lang.Object value)
-
-
-
Field Detail
-
NONE_VALUE
public static final java.lang.String NONE_VALUE
- See Also:
- Constant Field Values
-
TRUE_VALUES
public static final java.util.NavigableSet<java.lang.String> TRUE_VALUES
-
FALSE_VALUES
public static final java.util.NavigableSet<java.lang.String> FALSE_VALUES
-
-
Method Detail
-
isNoneValue
public static boolean isNoneValue(java.lang.String v)
- Parameters:
v
- Value to examine- Returns:
true
if equals to "none" - case insensitive
-
getLongProperty
public static long getLongProperty(PropertyResolver resolver, java.lang.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:
java.lang.NumberFormatException
- if malformed value- See Also:
toLong(Object, long)
-
getLongProperty
public static long getLongProperty(java.util.Map<java.lang.String,?> props, java.lang.String name, long defaultValue)
-
toLong
public static long toLong(java.lang.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:
java.lang.NumberFormatException
- if malformed value- See Also:
Long.parseLong(String)
-
If value is
-
getLong
public static java.lang.Long getLong(PropertyResolver resolver, java.lang.String name)
- Parameters:
resolver
- ThePropertyResolver
instance - ignored ifnull
name
- The property name- Returns:
- The
Long
value ornull
if property not found - Throws:
java.lang.NumberFormatException
- if malformed value- See Also:
toLong(Object)
-
getLong
public static java.lang.Long getLong(java.util.Map<java.lang.String,?> props, java.lang.String name)
-
toLong
public static java.lang.Long toLong(java.lang.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:
java.lang.NumberFormatException
- if malformed value- See Also:
Long.valueOf(long)
,Long.valueOf(String)
-
If the value is
-
toEnum
public static <E extends java.lang.Enum<E>> E toEnum(java.lang.Class<E> enumType, java.lang.Object value, boolean failIfNoMatch, java.util.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:
java.lang.IllegalArgumentException
- If value is neithernull
, nor the enumerated type nor aCharSequence
java.util.NoSuchElementException
- If no matching string name found and failIfNoMatch istrue
-
If value is
-
updateProperty
public static java.lang.Object updateProperty(PropertyResolver resolver, java.lang.String name, long value)
-
updateProperty
public static java.lang.Object updateProperty(java.util.Map<java.lang.String,java.lang.Object> props, java.lang.String name, long value)
-
getIntProperty
public static int getIntProperty(PropertyResolver resolver, java.lang.String name, int defaultValue)
-
getIntProperty
public static int getIntProperty(java.util.Map<java.lang.String,?> props, java.lang.String name, int defaultValue)
-
toInteger
public static int toInteger(java.lang.Object value, int defaultValue)
-
getInteger
public static java.lang.Integer getInteger(PropertyResolver resolver, java.lang.String name)
-
getInteger
public static java.lang.Integer getInteger(java.util.Map<java.lang.String,?> props, java.lang.String name)
-
toInteger
public static java.lang.Integer toInteger(java.lang.Object value)
-
updateProperty
public static java.lang.Object updateProperty(PropertyResolver resolver, java.lang.String name, int value)
-
updateProperty
public static java.lang.Object updateProperty(java.util.Map<java.lang.String,java.lang.Object> props, java.lang.String name, int value)
-
getBooleanProperty
public static boolean getBooleanProperty(PropertyResolver resolver, java.lang.String name, boolean defaultValue)
-
getBooleanProperty
public static boolean getBooleanProperty(java.util.Map<java.lang.String,?> props, java.lang.String name, boolean defaultValue)
-
toBoolean
public static boolean toBoolean(java.lang.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 java.lang.Boolean getBoolean(PropertyResolver resolver, java.lang.String name)
-
getBoolean
public static java.lang.Boolean getBoolean(java.util.Map<java.lang.String,?> props, java.lang.String name)
-
toBoolean
public static java.lang.Boolean toBoolean(java.lang.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:
java.lang.UnsupportedOperationException
- If value cannot be converted to a boolean - e.g., a number.- See Also:
parseBoolean(String)
-
If
-
parseBoolean
public static java.lang.Boolean parseBoolean(java.lang.String value)
- Parameters:
value
- The value to parse- Returns:
- The result -
null
if value isnull
/empty - Throws:
java.lang.IllegalArgumentException
- If non-empty string that does not match (case insensitive) either of the known values for boolean.
-
updateProperty
public static java.lang.Object updateProperty(PropertyResolver resolver, java.lang.String name, boolean value)
-
updateProperty
public static java.lang.Object updateProperty(java.util.Map<java.lang.String,java.lang.Object> props, java.lang.String name, boolean value)
-
getStringProperty
public static java.lang.String getStringProperty(PropertyResolver resolver, java.lang.String name, java.lang.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 java.lang.String getStringProperty(java.util.Map<java.lang.String,?> props, java.lang.String name, java.lang.String defaultValue)
-
getCharset
public static java.nio.charset.Charset getCharset(PropertyResolver resolver, java.lang.String name, java.nio.charset.Charset defaultValue)
-
getCharset
public static java.nio.charset.Charset getCharset(java.util.Map<java.lang.String,?> props, java.lang.String name, java.nio.charset.Charset defaultValue)
-
toCharset
public static java.nio.charset.Charset toCharset(java.lang.Object value)
-
getString
public static java.lang.String getString(PropertyResolver resolver, java.lang.String name)
-
getString
public static java.lang.String getString(java.util.Map<java.lang.String,?> props, java.lang.String name)
-
getObject
public static java.lang.Object getObject(PropertyResolver resolver, java.lang.String name)
-
getObject
public static java.lang.Object getObject(java.util.Map<java.lang.String,?> props, java.lang.String name)
-
resolvePropertyValue
public static java.lang.Object resolvePropertyValue(java.util.Map<java.lang.String,?> props, java.lang.String name)
-
updateProperty
public static java.lang.Object updateProperty(PropertyResolver resolver, java.lang.String name, java.lang.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 java.lang.Object updateProperty(java.util.Map<java.lang.String,java.lang.Object> props, java.lang.String name, java.lang.Object value)
-
resolvePropertyValue
public static java.lang.Object resolvePropertyValue(PropertyResolver resolver, java.lang.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 java.util.Map<java.lang.String,java.lang.Object> resolvePropertiesSource(PropertyResolver resolver, java.lang.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(java.util.Properties props)
-
toPropertyResolver
public static PropertyResolver toPropertyResolver(java.util.Map<java.lang.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(java.util.Map<java.lang.String,?> props, PropertyResolver parent)
-
-