Package com.arpnetworking.configuration
Class BaseConfiguration
java.lang.Object
com.arpnetworking.configuration.BaseConfiguration
- All Implemented Interfaces:
Configuration
- Direct Known Subclasses:
BaseJacksonConfiguration
Abstract base class for
Configuration
implementations which
implements the shared convenience methods which rely core methods. The
core methods are left for implementation by each concrete subclass.- Author:
- Ville Koskela (ville dot koskela at inscopemetrics dot io)
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription<T> T
Generic object accessor.<T> T
Generic object accessor.getProperty
(String name, String defaultValue) Retrieve the value of a particular property by its name and if it does not exist return the specified default.<T> T
getPropertyAs
(String name, Class<? extends T> clazz, T defaultValue) Generic object accessor.<T> T
getPropertyAs
(String name, Type type, T defaultValue) Generic object accessor.getPropertyAsBoolean
(String name) Boolean
specific accessor.boolean
getPropertyAsBoolean
(String name, boolean defaultValue) Boolean
specific accessor.getPropertyAsDouble
(String name) Double
specific accessor.double
getPropertyAsDouble
(String name, double defaultValue) Double
specific accessor.getPropertyAsFloat
(String name) Float
specific accessor.float
getPropertyAsFloat
(String name, float defaultValue) Float
specific accessor.getPropertyAsInteger
(String name) Integer
specific accessor.int
getPropertyAsInteger
(String name, int defaultValue) Integer
specific accessor.getPropertyAsLong
(String name) Long
specific accessor.long
getPropertyAsLong
(String name, long defaultValue) Long
specific accessor.getPropertyAsShort
(String name) Short
specific accessor.short
getPropertyAsShort
(String name, short defaultValue) Short
specific accessor.<T> T
getRequiredAs
(Class<? extends T> clazz) Generic object accessor.<T> T
getRequiredAs
(Type type) Generic object accessor.getRequiredProperty
(String name) Retrieve the value of a particular property by its name and if it does not exist throw aRuntimeException
.<T> T
getRequiredPropertyAs
(String name, Class<? extends T> clazz) Generic object accessor.<T> T
getRequiredPropertyAs
(String name, Type type) Generic object accessor.boolean
Boolean
specific accessor.double
Double
specific accessor.float
Float
specific accessor.int
Integer
specific accessor.long
Long
specific accessor.short
Short
specific accessor.Generate a Steno log compatible representation.toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.arpnetworking.configuration.Configuration
getAs, getAs, getProperty, getPropertyAs, getPropertyAs
-
Constructor Details
-
BaseConfiguration
public BaseConfiguration()
-
-
Method Details
-
getProperty
Description copied from interface:Configuration
Retrieve the value of a particular property by its name and if it does not exist return the specified default.- Specified by:
getProperty
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.defaultValue
- The value to return if the specified property name does not exist in the configuration.- Returns:
- Returns the property value or
defaultValue
if the property name has not been defined.
-
getRequiredProperty
Description copied from interface:Configuration
Retrieve the value of a particular property by its name and if it does not exist throw aRuntimeException
.- Specified by:
getRequiredProperty
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.- Returns:
- Returns the property value.
- Throws:
NoSuchElementException
- throws theRuntimeException
if the specified property name is not defined.
-
getPropertyAsBoolean
Description copied from interface:Configuration
Boolean
specific accessor. Anything other than "true", ignoring case, is treated asfalse
.- Specified by:
getPropertyAsBoolean
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.- Returns:
- Returns the property value or
Optional.empty()
if the property name has not been defined. - See Also:
-
getPropertyAsBoolean
Description copied from interface:Configuration
- Specified by:
getPropertyAsBoolean
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.defaultValue
- The value to return if the specified property name does not exist in the configuration.- Returns:
- Returns the property value or
defaultValue
if the property name has not been defined. - See Also:
-
getRequiredPropertyAsBoolean
Description copied from interface:Configuration
- Specified by:
getRequiredPropertyAsBoolean
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.- Returns:
- Returns the property value.
- Throws:
NoSuchElementException
- throws theRuntimeException
if the specified property name is not defined.- See Also:
-
getPropertyAsInteger
Description copied from interface:Configuration
Integer
specific accessor.- Specified by:
getPropertyAsInteger
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.- Returns:
- Returns the property value or
Optional.empty()
if the property name has not been defined. - Throws:
NumberFormatException
- if the value cannot be converted to anInteger
.- See Also:
-
getPropertyAsInteger
Description copied from interface:Configuration
Integer
specific accessor.- Specified by:
getPropertyAsInteger
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.defaultValue
- The value to return if the specified property name does not exist in the configuration.- Returns:
- Returns the property value or
defaultValue
if the property name has not been defined. - Throws:
NumberFormatException
- if the value cannot be converted to anInteger
.- See Also:
-
getRequiredPropertyAsInteger
public int getRequiredPropertyAsInteger(String name) throws NoSuchElementException, NumberFormatException Description copied from interface:Configuration
Integer
specific accessor.- Specified by:
getRequiredPropertyAsInteger
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.- Returns:
- Returns the property value.
- Throws:
NoSuchElementException
- throws theRuntimeException
if the specified property name is not defined.NumberFormatException
- if the value cannot be converted to anInteger
.- See Also:
-
getPropertyAsLong
Description copied from interface:Configuration
Long
specific accessor.- Specified by:
getPropertyAsLong
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.- Returns:
- Returns the property value or
Optional.empty()
if the property name has not been defined. - Throws:
NumberFormatException
- if the value cannot be converted to aLong
.- See Also:
-
getPropertyAsLong
Description copied from interface:Configuration
Long
specific accessor.- Specified by:
getPropertyAsLong
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.defaultValue
- The value to return if the specified property name does not exist in the configuration.- Returns:
- Returns the property value or
defaultValue
if the property name has not been defined. - Throws:
NumberFormatException
- if the value cannot be converted to aLong
.- See Also:
-
getRequiredPropertyAsLong
public long getRequiredPropertyAsLong(String name) throws NoSuchElementException, NumberFormatException Description copied from interface:Configuration
Long
specific accessor.- Specified by:
getRequiredPropertyAsLong
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.- Returns:
- Returns the property value.
- Throws:
NoSuchElementException
- throws theRuntimeException
if the specified property name is not defined.NumberFormatException
- if the value cannot be converted to aLong
.- See Also:
-
getPropertyAsDouble
Description copied from interface:Configuration
Double
specific accessor.- Specified by:
getPropertyAsDouble
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.- Returns:
- Returns the property value or
Optional.empty()
if the property name has not been defined. - Throws:
NumberFormatException
- if the value cannot be converted to aDouble
.- See Also:
-
getPropertyAsDouble
Description copied from interface:Configuration
Double
specific accessor.- Specified by:
getPropertyAsDouble
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.defaultValue
- The value to return if the specified property name does not exist in the configuration.- Returns:
- Returns the property value or
defaultValue
if the property name has not been defined. - Throws:
NumberFormatException
- if the value cannot be converted to aDouble
.- See Also:
-
getRequiredPropertyAsDouble
public double getRequiredPropertyAsDouble(String name) throws NoSuchElementException, NumberFormatException Description copied from interface:Configuration
Double
specific accessor.- Specified by:
getRequiredPropertyAsDouble
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.- Returns:
- Returns the property value.
- Throws:
NoSuchElementException
- throws theRuntimeException
if the specified property name is not defined.NumberFormatException
- if the value cannot be converted to aDouble
.- See Also:
-
getPropertyAsFloat
Description copied from interface:Configuration
Float
specific accessor.- Specified by:
getPropertyAsFloat
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.- Returns:
- Returns the property value or
Optional.empty()
if the property name has not been defined. - Throws:
NumberFormatException
- if the value cannot be converted to aFloat
.- See Also:
-
getPropertyAsFloat
Description copied from interface:Configuration
Float
specific accessor.- Specified by:
getPropertyAsFloat
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.defaultValue
- The value to return if the specified property name does not exist in the configuration.- Returns:
- Returns the property value or
defaultValue
if the property name has not been defined. - Throws:
NumberFormatException
- if the value cannot be converted to aFloat
.- See Also:
-
getRequiredPropertyAsFloat
public float getRequiredPropertyAsFloat(String name) throws NoSuchElementException, NumberFormatException Description copied from interface:Configuration
Float
specific accessor.- Specified by:
getRequiredPropertyAsFloat
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.- Returns:
- Returns the property value.
- Throws:
NoSuchElementException
- throws theRuntimeException
if the specified property name is not defined.NumberFormatException
- if the value cannot be converted to aFloat
.- See Also:
-
getPropertyAsShort
Description copied from interface:Configuration
Short
specific accessor.- Specified by:
getPropertyAsShort
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.- Returns:
- Returns the property value or
Optional.empty()
if the property name has not been defined. - Throws:
NumberFormatException
- if the value cannot be converted to aShort
.- See Also:
-
getPropertyAsShort
Description copied from interface:Configuration
Short
specific accessor.- Specified by:
getPropertyAsShort
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.defaultValue
- The value to return if the specified property name does not exist in the configuration.- Returns:
- Returns the property value or
defaultValue
if the property name has not been defined. - Throws:
NumberFormatException
- if the value cannot be converted to aShort
.- See Also:
-
getRequiredPropertyAsShort
public short getRequiredPropertyAsShort(String name) throws NoSuchElementException, NumberFormatException Description copied from interface:Configuration
Short
specific accessor.- Specified by:
getRequiredPropertyAsShort
in interfaceConfiguration
- Parameters:
name
- The name of the property value to retrieve.- Returns:
- Returns the property value.
- Throws:
NoSuchElementException
- throws theRuntimeException
if the specified property name is not defined.NumberFormatException
- if the value cannot be converted to aShort
.- See Also:
-
getPropertyAs
public <T> T getPropertyAs(String name, Class<? extends T> clazz, T defaultValue) throws IllegalArgumentException Description copied from interface:Configuration
Generic object accessor.- Specified by:
getPropertyAs
in interfaceConfiguration
- Type Parameters:
T
- The type to return.- Parameters:
name
- The name of the property value to retrieve.clazz
- The type of the object to instantiate.defaultValue
- The value to return if the specified property name does not exist in the configuration.- Returns:
- Returns the property value or
Optional.empty()
if the property name has not been defined. - Throws:
IllegalArgumentException
- if the value cannot be converted to an instance ofT
.
-
getRequiredPropertyAs
public <T> T getRequiredPropertyAs(String name, Class<? extends T> clazz) throws NoSuchElementException, IllegalArgumentException Description copied from interface:Configuration
Generic object accessor.- Specified by:
getRequiredPropertyAs
in interfaceConfiguration
- Type Parameters:
T
- The type to return.- Parameters:
name
- The name of the property value to retrieve.clazz
- The type of the object to instantiate.- Returns:
- Returns the property value or
Optional.empty()
if the property name has not been defined. - Throws:
NoSuchElementException
- throws theRuntimeException
if the specified property name is not defined.IllegalArgumentException
- if the value cannot be converted to an instance ofConfiguration
.
-
getAs
Description copied from interface:Configuration
Generic object accessor.- Specified by:
getAs
in interfaceConfiguration
- Type Parameters:
T
- The type to return.- Parameters:
clazz
- The type of the object to instantiate.defaultValue
- The value to return if the specified property name does not exist in the configuration.- Returns:
- Returns the entire configuration as an instance of
T
. - Throws:
IllegalArgumentException
- if the value cannot be converted to an instance ofT
.- See Also:
-
getRequiredAs
public <T> T getRequiredAs(Class<? extends T> clazz) throws NoSuchElementException, IllegalArgumentException Description copied from interface:Configuration
Generic object accessor.- Specified by:
getRequiredAs
in interfaceConfiguration
- Type Parameters:
T
- The type to return.- Parameters:
clazz
- The type of the object to instantiate.- Returns:
- Returns the entire configuration as an instance of
T
. - Throws:
NoSuchElementException
- throws theRuntimeException
if the configuration is not available.IllegalArgumentException
- if the value cannot be converted to an instance ofT
.
-
getPropertyAs
Description copied from interface:Configuration
Generic object accessor.- Specified by:
getPropertyAs
in interfaceConfiguration
- Type Parameters:
T
- The type to return.- Parameters:
name
- The name of the property value to retrieve.type
- The type of the object to instantiate.defaultValue
- The value to return if the specified property name does not exist in the configuration.- Returns:
- Returns the property value or
Optional.empty()
if the property name has not been defined. - Throws:
IllegalArgumentException
- if the value cannot be converted to an instance ofT
.
-
getRequiredPropertyAs
public <T> T getRequiredPropertyAs(String name, Type type) throws NoSuchElementException, IllegalArgumentException Description copied from interface:Configuration
Generic object accessor.- Specified by:
getRequiredPropertyAs
in interfaceConfiguration
- Type Parameters:
T
- The type to return.- Parameters:
name
- The name of the property value to retrieve.type
- The type of the object to instantiate.- Returns:
- Returns the property value or
Optional.empty()
if the property name has not been defined. - Throws:
NoSuchElementException
- throws theRuntimeException
if the specified property name is not defined.IllegalArgumentException
- if the value cannot be converted to an instance ofT
.
-
getAs
Description copied from interface:Configuration
Generic object accessor.- Specified by:
getAs
in interfaceConfiguration
- Type Parameters:
T
- The type to return.- Parameters:
type
- The type of the object to instantiate.defaultValue
- The value to return if the specified property name does not exist in the configuration.- Returns:
- Returns the entire configuration as an instance of
T
. - Throws:
IllegalArgumentException
- if the value cannot be converted to an instance ofT
.- See Also:
-
getRequiredAs
Description copied from interface:Configuration
Generic object accessor.- Specified by:
getRequiredAs
in interfaceConfiguration
- Type Parameters:
T
- The type to return.- Parameters:
type
- The type of the object to instantiate.- Returns:
- Returns the entire configuration as an instance of
T
. - Throws:
NoSuchElementException
- throws theRuntimeException
if the configuration is not available.IllegalArgumentException
- if the value cannot be converted to an instance ofT
.
-
toLogValue
Generate a Steno log compatible representation.- Returns:
- Steno log compatible representation.
-
toString
-