Package com.arpnetworking.configuration
Interface Configuration
- All Known Implementing Classes:
BaseConfiguration
,BaseJacksonConfiguration
,DynamicConfiguration
,StaticConfiguration
public interface Configuration
Interface for classes which provide configuration.
- Author:
- Ville Koskela (ville dot koskela at inscopemetrics dot com)
-
Method Summary
Modifier and TypeMethodDescription<T> Optional<T>
Generic object accessor.<T> T
Generic object accessor.<T> Optional<T>
Generic object accessor.<T> T
Generic object accessor.getProperty
(String name) Retrieve the value of a particular property by its name.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> Optional<T>
getPropertyAs
(String name, Class<? extends T> clazz) Generic object accessor.<T> T
getPropertyAs
(String name, Class<? extends T> clazz, T defaultValue) Generic object accessor.<T> Optional<T>
getPropertyAs
(String name, Type type) 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.
-
Method Details
-
getProperty
Retrieve the value of a particular property by its name.- 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.
-
getProperty
Retrieve the value of a particular property by its name and if it does not exist return the specified default.- 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
Retrieve the value of a particular property by its name and if it does not exist throw aRuntimeException
.- 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
Boolean
specific accessor. Anything other than "true", ignoring case, is treated asfalse
.- 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
Boolean
specific accessor. Anything other than "true", ignoring case, is treated asfalse
.- 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
Boolean
specific accessor. Anything other than "true", ignoring case, is treated asfalse
.- 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
Integer
specific accessor.- 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
Integer
specific accessor.- 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
Integer
specific accessor.- 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
Long
specific accessor.- 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
Long
specific accessor.- 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
Long
specific accessor.- 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
Double
specific accessor.- 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
Double
specific accessor.- 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
double getRequiredPropertyAsDouble(String name) throws NoSuchElementException, NumberFormatException Double
specific accessor.- 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
Float
specific accessor.- 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
Float
specific accessor.- 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
Float
specific accessor.- 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
Short
specific accessor.- 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
Short
specific accessor.- 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
Short
specific accessor.- 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
<T> Optional<T> getPropertyAs(String name, Class<? extends T> clazz) throws IllegalArgumentException Generic object accessor.- 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:
IllegalArgumentException
- if the value cannot be converted to an instance ofConfiguration
.
-
getPropertyAs
<T> T getPropertyAs(String name, Class<? extends T> clazz, T defaultValue) throws IllegalArgumentException Generic object accessor.- 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 ofConfiguration
.
-
getRequiredPropertyAs
<T> T getRequiredPropertyAs(String name, Class<? extends T> clazz) throws NoSuchElementException, IllegalArgumentException Generic object accessor.- 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
Generic object accessor.- 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
Configuration
. - Throws:
IllegalArgumentException
- if the value cannot be converted to an instance ofConfiguration
.
-
getAs
Generic object accessor.- 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
Configuration
. - Throws:
IllegalArgumentException
- if the value cannot be converted to an instance ofConfiguration
.- See Also:
-
getRequiredAs
<T> T getRequiredAs(Class<? extends T> clazz) throws NoSuchElementException, IllegalArgumentException Generic object accessor.- 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
Configuration
. - Throws:
NoSuchElementException
- throws theRuntimeException
if the configuration is not available.IllegalArgumentException
- if the value cannot be converted to an instance ofConfiguration
.
-
getPropertyAs
Generic object accessor.- 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:
IllegalArgumentException
- if the value cannot be converted to an instance ofConfiguration
.
-
getPropertyAs
Generic object accessor.- 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 ofConfiguration
.
-
getRequiredPropertyAs
<T> T getRequiredPropertyAs(String name, Type type) throws NoSuchElementException, IllegalArgumentException Generic object accessor.- 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 ofConfiguration
.
-
getAs
Generic object accessor.- 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
Configuration
. - Throws:
IllegalArgumentException
- if the value cannot be converted to an instance ofConfiguration
.
-
getAs
Generic object accessor.- 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
Configuration
. - Throws:
IllegalArgumentException
- if the value cannot be converted to an instance ofConfiguration
.- See Also:
-
getRequiredAs
Generic object accessor.- 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
Configuration
. - Throws:
NoSuchElementException
- throws theRuntimeException
if the configuration is not available.IllegalArgumentException
- if the value cannot be converted to an instance ofConfiguration
.
-