19.2. Registry Structure

Registry has a hierarchical tree structure. This hierarchy is based on one root node that must be always present. Any node in the registry is either leaf or contains at least one subnode. Besides subnodes, each node can store variables (variables stored in the Registry are so-called config variables) or symbolic link definition.

Structure of the registry (instance diagram - example). Note that each node consists of three sections - config variables, subnodes references and symbolic links.

19.2.1. Config Variables

As it was already stated, config variables are the special variables that are internaly used by the registry to store its variables. The advantage they bring is that they can be handled regardless their actual type. Nevertheless, when creating the variable, the type must be specified. Typically, this will be done in a configuration file using predefined keywords. The following table shows the possible config variable types in case you need to create config variable from program code:

Table 19.1. Config Variable Types
TypeRelevant ConfigVariable Descendant
integer (32 bits)CVarInteger
large integer (64 bits)CVarLargeInteger
floatCVarFloat
stringCVarString
booleanCVarBoolean

19.2.2. Symbolic Links

Symbolic links (also aliases) symbolic names for variables stored under another name in the same registry node or under any name in another node. They contain textual path that specifies the target variable. Note that an alias target may be another alias, etc., until there is a variable in the chain.

Symbolic links are useful for example when there have to be the same variables in more nodes. Instead, we can have the real variables stored only once and more aliases set up to refer each of them.