So, I rewrote config handling again. Now it's fairly easy to add complexity to configuration file ;-)
My sysadmin side wants to kill my developer side.
Anyways. In order to create new config parameter,
1. Figure out if it is just a parameter, or a container for other parameters.
Example of containers are application and servlet.
2. If it is a parameter - decide which container will it reside in.
Currently GlobalContext, AppContext, and ServletContext are available.
3. Go to respective container class, and write handler function for this parameter.
4. Go to registerParams function for respective container, and add your parameter and handler there.
That's it.
When registering parameter, two flags can be specified: PARAM_INHERITABLE and PARAM_REQUIRED.
For inheritable params, higher level container must register them as well (even if with setIgnore handler).
Latest code is in git. The GitWeb access to my
git tree here: http://gateway.total-knowledge.com/cgi-bin/gitweb.cgi