public class Props
extends java.util.Properties
implements java.lang.Iterable<java.lang.String>
Properties
um einen simplen
Substitutions-Mechanismus fuer Properties.getProperty(String)
.getProperty(String)
beschrieben.
toString()
nicht mit aufgelistet und erscheinen so auch nicht im Log.copyCase(String[])
,
Serialized FormConstructor and Description |
---|
Props() |
Props(boolean substitudeFile) |
Props(java.util.Properties defaults) |
Modifier and Type | Method and Description |
---|---|
void |
clear() |
Props |
copyCase(java.lang.String... prefixes)
Kopiert die Properties unter Zuhilfenahme eines simplen Case-Filters.
|
Props |
expandKeys()
Vervielfacht Properties mit Schluesseln der Form
a[b|c] zu
ab und ac . |
long |
getLastModified() |
java.lang.String |
getProperty(java.lang.String key)
Liefert den Wert zu einem Schluessel.
|
java.lang.String |
getProperty(java.lang.String key,
java.lang.String defaultValue) |
java.lang.String |
getRawProperty(java.lang.String key) |
java.util.Iterator<java.lang.String> |
iterator() |
java.lang.Object |
put(java.lang.Object key,
java.lang.Object value) |
void |
putAll(java.util.Map<?,?> t) |
java.lang.Object |
remove(java.lang.Object key) |
java.lang.String |
toString() |
list, list, load, load, loadFromXML, propertyNames, save, setProperty, store, store, storeToXML, storeToXML, stringPropertyNames
clone, compute, computeIfAbsent, computeIfPresent, contains, containsKey, containsValue, elements, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keys, keySet, merge, putIfAbsent, rehash, remove, replace, replace, replaceAll, size, values
public Props()
public Props(java.util.Properties defaults)
public Props(boolean substitudeFile)
public java.lang.String getRawProperty(java.lang.String key)
public final long getLastModified()
public java.lang.String getProperty(java.lang.String key)
getProperty
in class java.util.Properties
key
- String Schluessel NOT NULL.null
, wenn nicht gefunden.
key
wird aus den internen Properties gelesen.
null
, dann Wert in den System.properties suchen.
null
, dann Wert in der unterlegten HashMap suchen
und Object.toString()
zurueckliefern.
null
, dann Wert in der systemweiten
Environment mittels System.getenv()
suchen.
null
, dann Schluessel als Pfad interpretieren
und den Inhalt der Datei in den Wert als String einlesen.Props(boolean)
Konstruktor erzwungen werden.
null
, dann
jetzt null
zurueckliefern.
[key]
untersuchen und ggf. rekursiv aufloesen. In dieser Phase
muss key
einen Wert liefern, ansonsten wird eine
IllegalArgumentException
geworfen. Dies passiert
uebrigens auch bei einem Syntaxfehler.
x=[x]
werden nicht
unterstuetzt und koennen zu Endlosschleifen fuehren.@[key]
unterstuetzt.Iterable
und liefert
typsicher alle Schluessel als Strings anstatt Objects.[x|y]
, so ist der Bereich in Hochkommata "
einzuschliessen. "[x|y]"
"@[]'˜
koennen auch mittels
'
escaped werden. Dies gilt auch fuer '
selbst.
Ein Zeilenumbruch kann mit ˜ eingefuegt werden.public java.lang.String getProperty(java.lang.String key, java.lang.String defaultValue)
getProperty
in class java.util.Properties
public void putAll(java.util.Map<?,?> t)
putAll
in interface java.util.Map<java.lang.Object,java.lang.Object>
putAll
in class java.util.Hashtable<java.lang.Object,java.lang.Object>
public java.lang.Object put(java.lang.Object key, java.lang.Object value)
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 void clear()
clear
in interface java.util.Map<java.lang.Object,java.lang.Object>
clear
in class java.util.Hashtable<java.lang.Object,java.lang.Object>
public java.lang.Object remove(java.lang.Object key)
remove
in interface java.util.Map<java.lang.Object,java.lang.Object>
remove
in class java.util.Hashtable<java.lang.Object,java.lang.Object>
public java.util.Iterator<java.lang.String> iterator()
iterator
in interface java.lang.Iterable<java.lang.String>
public Props copyCase(java.lang.String... prefixes)
.[keyPrefix].[key]=[value]
, wird so als
[key]=[value]
in die neuen Properties geschrieben.case
-Key ueberschreibt
mit Leer, dann wird die Property ebenfalls entfernt.
Prefix kann zudem als Array... uebergeben werden, wodurch mehrere Filter
wirken, was einem Case-Fall-Thru wie in z.B. Java oder C entspricht.prefixes
- optional Array of String FilterProps
NOT NULLpublic Props expandKeys()
a[b|c]
zu
ab
und ac
.
a[b|[c|d]]
sind nicht erlaubt.Props
mit aufgeloesten Schluesseln.public java.lang.String toString()
toString
in class java.util.Hashtable<java.lang.Object,java.lang.Object>