public class TypedProperties
extends java.util.Properties
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_DELIMITERS
the default string of delimiter characters used by getAsStringList()
|
Constructor and Description |
---|
TypedProperties()
Creates an empty property list with no default values.
|
TypedProperties(java.util.Properties defaults)
Creates an empty property list with the specified defaults.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
clone() |
boolean |
equals(java.lang.Object o) |
java.lang.Boolean |
getPropertyAsBoolean(java.lang.String key)
Searches for the property with the specified key in this property list.
|
java.lang.Double |
getPropertyAsDouble(java.lang.String key)
Searches for the property with the specified key in this property list.
|
java.lang.Integer |
getPropertyAsInteger(java.lang.String key)
Searches for the property with the specified key in this property list.
|
java.lang.Long |
getPropertyAsLong(java.lang.String key)
Searches for the property with the specified key in this property list.
|
java.util.List |
getPropertyAsStringList(java.lang.String key)
just like getPropertyAsStringList(String key, String delims) but uses ',' (comma), ';' (semicolon) and '\t' (tab)
as the possible delimiters.
|
java.util.List |
getPropertyAsStringList(java.lang.String key,
java.lang.String delims)
Searches for the property with the specified key in this property list.
|
int |
hashCode() |
void |
load(java.lang.Class clazz,
java.lang.String resourceName)
Reads a property list (key and element pairs) from the given
file which is interpreted as a resource of the given class.
|
void |
load(java.lang.String fileName)
Reads a property list (key and element pairs) from the file with the given file name.
|
java.lang.String |
toString() |
getProperty, getProperty, list, list, load, load, loadFromXML, propertyNames, save, setProperty, store, store, storeToXML, storeToXML, stringPropertyNames
clear, compute, computeIfAbsent, computeIfPresent, contains, containsKey, containsValue, elements, entrySet, forEach, get, getOrDefault, isEmpty, keys, keySet, merge, put, putAll, putIfAbsent, rehash, remove, remove, replace, replace, replaceAll, size, values
public static final java.lang.String DEFAULT_DELIMITERS
public TypedProperties()
public TypedProperties(java.util.Properties defaults)
defaults
- the defaults.public void load(java.lang.String fileName) throws java.io.FileNotFoundException, java.io.IOException
fileName
- the file name. Not null.java.io.FileNotFoundException
- if the file does not exist, is a directory rather than a regular file, or for some
other reason cannot be opened for reading.java.io.IOException
- if an error occurred when reading from the input stream created from the file with the given
name.public void load(java.lang.Class clazz, java.lang.String resourceName) throws java.io.IOException
clazz
- the class with which the resource identified by resourceName
is taken to be associated with
(java.lang.Class.getResourceAsStream() on this Class
object is used to load the resource). If clazz is null, the
resource is considered to be a system resource, and
java.lang.ClassLoader.getSystemResourceAsStream() is used to
load the resource.resourceName
- the name of the resource from which to load the properties. It is a precondition that the
resource with this name exists (regardless whether it is interpreted as a system resource or a
class resource), otherwise an IllegalArgumentException is thrown.java.io.IOException
- if an error occurred when reading from the input stream created from the given resource.Class
,
ClassLoader
public java.lang.Integer getPropertyAsInteger(java.lang.String key) throws java.lang.NumberFormatException
key
- the property key.java.lang.NumberFormatException
- if the property associated with the given key does not have an integer value.public java.lang.Long getPropertyAsLong(java.lang.String key) throws java.lang.NumberFormatException
key
- the property key.java.lang.NumberFormatException
- if the property associated with the given key does not have an integer value.public java.lang.Double getPropertyAsDouble(java.lang.String key) throws java.lang.NumberFormatException
key
- the property key.java.lang.NumberFormatException
- if the property associated with the given key does not have an integer value.public java.lang.Boolean getPropertyAsBoolean(java.lang.String key) throws java.lang.RuntimeException
If the property value is equal, ignoring case, to the string "true" or "yes" then the boolean value returned from this method is true. If the property value is equal, ignoring case, to the string "false" or "no" then the boolean value returned from this method is false.
key
- the property key.java.lang.RuntimeException
- if the property associated with the given key does not have an integer value.public java.util.List getPropertyAsStringList(java.lang.String key, java.lang.String delims)
The property value is interpreted as String objects (tokens) separated by one or more (consecutive) separator characters taken from the delims string. Any of these characters separates the tokens and can hence not be part of any token! The tokens identified in this way are put into a List in the order in which they appear in the property value. White space at the beginning and end of each token are removed before storing the token as an element of the list (this includes white space at the beginning and end of the complete property value)! Empty strings are also never added to the list, i.e. if after removal of white space from a token a token is the empty string, it is not stored in the list! All this results in a very natural conversion of the property value into a list of strings: only "real" (non-white-space, non-white-space-bounded, non-delimiter-containing) sub-strings from the property value are put as string elements into the list.
key
- the property key.delims
- the string of allowed delimiter characters (not null and not empty).public java.util.List getPropertyAsStringList(java.lang.String key)
public java.lang.String toString()
toString
in class java.util.Hashtable<java.lang.Object,java.lang.Object>
public boolean equals(java.lang.Object o)
equals
in interface java.util.Map<java.lang.Object,java.lang.Object>
equals
in class java.util.Hashtable<java.lang.Object,java.lang.Object>
public int hashCode()
hashCode
in interface java.util.Map<java.lang.Object,java.lang.Object>
hashCode
in class java.util.Hashtable<java.lang.Object,java.lang.Object>
public java.lang.Object clone()
clone
in class java.util.Hashtable<java.lang.Object,java.lang.Object>