public class Config
extends java.util.Properties
Modifier and Type | Class and Description |
---|---|
static interface |
Config.CLIOption
An interface that makes it convenient to use commons-CLI style option
while defining all fields as an enum at one place.
|
static interface |
Config.ConfigurableEnum |
static interface |
Config.DefaultValueEnum |
static interface |
Config.Disableable
Used to disallow some parameters from being configured during production
runs but allow them to be configured for testing or instrumentation
purposes.
|
Modifier and Type | Method and Description |
---|---|
boolean |
containsKey(java.lang.String key) |
static Config |
disableCommandLine(java.lang.Class<?> type)
Disable command-line input for type.
|
java.lang.Object |
get(java.lang.Enum<?> field) |
java.lang.Object |
get(java.lang.Object key) |
boolean |
getBoolean(java.lang.Enum<?> field) |
static Config |
getConfig(java.lang.Class<?> type) |
static java.lang.Object |
getGlobal(java.lang.Enum<?> field) |
static boolean |
getGlobalBoolean(java.lang.Enum<?> field) |
static double |
getGlobalDouble(java.lang.Enum<?> field) |
static int |
getGlobalInt(java.lang.Enum<?> field) |
static long |
getGlobalLong(java.lang.Enum<?> field) |
static short |
getGlobalShort(java.lang.Enum<?> field) |
static java.lang.String |
getGlobalString(java.lang.Enum<?> field) |
int |
getInt(java.lang.Enum<?> field) |
static java.util.logging.Logger |
getLogger() |
long |
getLong(java.lang.Enum<?> field) |
static java.util.Properties |
getProperties(java.lang.Class<?> type,
java.lang.String systemPropertyKey,
java.lang.String defaultConfigFile) |
java.lang.String |
getProperty(java.lang.String key) |
java.lang.String |
getProperty(java.lang.String key,
java.lang.String defaultValue) |
short |
getShort(java.lang.Enum<?> field) |
java.lang.String |
getString(java.lang.Enum<?> field) |
static void |
main(java.lang.String[] args)
Runtime usage of Config through explicit object instance creation.
|
java.lang.Object |
put(java.lang.Object key,
java.lang.Object value)
The methods
put(Object, Object) , getProperty(String) ,
and getProperty(String, String) below make this Config
case-insensitive. |
static Config |
register(java.lang.Class<?> type,
java.lang.String systemPropertyKey,
java.lang.String defaultConfigFile)
Will first look for the file name specified in systemProperty and then
try the configFile.
|
static java.util.HashMap<?,?> |
register(java.lang.String[] args)
For registering command-line args.
|
static void |
setCaseSensitive(boolean b)
Makes Config keys case-sensitive if
b is true. |
Config |
setSystemProperties() |
list, list, load, load, loadFromXML, propertyNames, save, setProperty, store, store, storeToXML, storeToXML, stringPropertyNames
clear, clone, compute, computeIfAbsent, computeIfPresent, contains, containsKey, containsValue, elements, entrySet, equals, forEach, getOrDefault, hashCode, isEmpty, keys, keySet, merge, putAll, putIfAbsent, rehash, remove, remove, replace, replace, replaceAll, size, toString, values
public static Config register(java.lang.Class<?> type, java.lang.String systemPropertyKey, java.lang.String defaultConfigFile) throws java.io.IOException
type
- defaultConfigFile
- systemPropertyKey
- java.io.IOException
public static java.util.HashMap<?,?> register(java.lang.String[] args)
args
- public static Config getConfig(java.lang.Class<?> type)
type
- public static java.util.Properties getProperties(java.lang.Class<?> type, java.lang.String systemPropertyKey, java.lang.String defaultConfigFile) throws java.io.IOException
type
- systemPropertyKey
- defaultConfigFile
- java.io.IOException
public Config setSystemProperties()
this
public static java.lang.Object getGlobal(java.lang.Enum<?> field)
field
- public static boolean getGlobalBoolean(java.lang.Enum<?> field)
field
- public static int getGlobalInt(java.lang.Enum<?> field)
field
- public static long getGlobalLong(java.lang.Enum<?> field)
field
- public static double getGlobalDouble(java.lang.Enum<?> field)
field
- public static short getGlobalShort(java.lang.Enum<?> field)
field
- public static java.lang.String getGlobalString(java.lang.Enum<?> field)
field
- public java.lang.Object get(java.lang.Enum<?> field)
field
- field
.public boolean getBoolean(java.lang.Enum<?> field)
field
- public int getInt(java.lang.Enum<?> field)
field
- public long getLong(java.lang.Enum<?> field)
field
- public short getShort(java.lang.Enum<?> field)
field
- public java.lang.String getString(java.lang.Enum<?> field)
field
- public static Config disableCommandLine(java.lang.Class<?> type)
type
- public static void setCaseSensitive(boolean b)
b
is true.b
- public java.lang.Object put(java.lang.Object key, java.lang.Object value)
put(Object, Object)
, getProperty(String)
,
and getProperty(String, String)
below make this Config
case-insensitive.put
in interface java.util.Map<java.lang.Object,java.lang.Object>
put
in class java.util.Hashtable<java.lang.Object,java.lang.Object>
public java.lang.String getProperty(java.lang.String key)
getProperty
in class java.util.Properties
public java.lang.Object get(java.lang.Object key)
get
in interface java.util.Map<java.lang.Object,java.lang.Object>
get
in class java.util.Hashtable<java.lang.Object,java.lang.Object>
public java.lang.String getProperty(java.lang.String key, java.lang.String defaultValue)
getProperty
in class java.util.Properties
public boolean containsKey(java.lang.String key)
key
- public static java.util.logging.Logger getLogger()
public static void main(java.lang.String[] args) throws java.io.IOException
args
- java.io.IOException