The registry (HxRegistry) is a structured set of named values.
Class diagram HxRegistry
A registry value (represented by HxRegValue) is a pair of a name (represented by HxString) and a data object (represented by HxRegData). The data of a value is an integer or a string. Values are grouped in sets, each set is associated with a key (HxRegKey). Keys are structured in the sense that keys have sub keys and form a tree structure. The uniquely identifying name of a key is determined by its path from the root key of the containing tree. In a key name the components of its path are separated by ``/''. A registry contains one tree of keys, shown in the class diagram as a 1-1 relationship between classes HxRegistry and HxRegKey.
An example of the contents of a registry:
[/methods/getName] "name"="getName" "nArgs"=0 [/methods/setName] "name"="setName" "nArgs"=1 "type0"="string"
Note that each value is uniquely identified by the path of its containing key and its name. A tree of registry keys and their associated values has its analogy in a directory tree with files. Keys (directories) can contain both keys as sub keys (subdirectories) and values (files). Both keys and values have a name that is not necessarily unique. Both have a path that uniquely identifies them within the key tree.