Chapter 1 Introduction
1.1 The Purpose of the Manual
Sometimes, when a new programming/programmable technology is released, it can take developers several years to figure out how they can exploit the technology to best effect.
For example, let’s assume that Sony or Nintendo release a new video game console that is significantly more powerful than the current generation of game consoles. The games released soon after the launch of this new games console may well be very enjoyable, but they are unlikely to push the console to the limits of its capabilities. It is likely to be the games that are released a few years after the console’s launch that will fully exploit its capabilities.
By default, one might expect that developers will initially use Config4* in simple ways—for example, to process a handful of variables in a runtime configuration file—and only after several months or years will developers figure out how to use Config4* in more adventurous ways that exploit its full capabilities.
This manual provides some shortcuts on that road to enlightenment. As I explain in the History chapter of the Config4* Maintenance Guide, the maturing of Config4* from its inception to its first public release took place over almost 15 years. During those years, I used prototype versions of Config4* in personal projects. This extensive use of Config4* has given me insights into how Config4* can be used in non-trivial ways. In this manual, I share many of those insights, so readers can learn to properly exploit Config4* sooner rather than later.
1.2 Structure of this Manual
The chapters in this manual are grouped into three parts.
The chapters in Part I provide examples of relatively straightforward ways to use Config4* for a wide variety of purposes.
Part II discusses issues associated with using a configuration file to specify details for the creation and initialisation of objects.
Part III provides a case study of how Config4* is used in Config4JMS, which is a library that simplifies use of the Java Message Service (JMS).