diff --git a/src/main/java/net/finmath/util/config/ConfigTree.java b/src/main/java/net/finmath/util/config/ConfigTree.java index 516322dc1a..6a8a9c1da4 100644 --- a/src/main/java/net/finmath/util/config/ConfigTree.java +++ b/src/main/java/net/finmath/util/config/ConfigTree.java @@ -14,11 +14,71 @@ /** * Config Tree: A tree based representation of configurations that can be selected with a key-value map describing the selector. * + *

Selector ↦ Configuration

+ * + *
+ *
configuration
+ *
* A configuration is a value (Object) assigned to a selector (Map<String, Object>). + *
+ * + *
selector
+ *
* A selector is a key-value map where certain properties (String) have certain values (Object). * Properties of the selector are checked in a fixed order, * such that a tree is formed, where each property corresponds to a level (depth) in the tree. - * Each level has a special branch for DEFAULT VALUES, if the selector value does not match any value of other nodes. + *
+ * + *
default values
+ *
+ * Each level has a special branch for DEFAULT VALUES, if the given selector value does not match any value of other nodes. + *
+ *
+ * + *

Selector Key Order

+ * + * The selector is matched against the configurtion list by checking the keys in a certain order. This oder does not matter if there is a unique value + * for the given selector, but it may matter if default values have to be assign. See the following example. + * + *

Example

+ * + * The configuration is determied by the value of two properties ("prop1" and "prop2") (the keys). The correspondig configuration value is + * + *

+ + * + * + * + * + * + * + * + * + * + * + *
prop1prop2value
A142.0
A23141
B11
B22
ADEFAULT_VALUE12
DEFAULT_VALUE213
DEFAULT_VALUEDEFAULT_VALUE66
The list of maps that defines all configurations.
+ * + *

+ * + * Initialising the class with this configuration we have: + * * * @author Christian Fries */