public class DefaultsConfigurator
extends Object
This class makes the default values go in through the configuration
buffer instead of just the value set on the actual object. This is
useful for dependency checking and also for reporting the source
location of a particular configuration value when there is some
sort of a conflict between two values; i.e. "X (set in defaults)
must be disabled to use Y (set on command line)"
The other (main) reason it is used is for the
FileConfigurator.formatBuffer - since getters aren't part of the
config system, the only values that can be printed are ones set via
the config setters. Since its handy to be able to generate a full
config file based on current settings, having the default values
set here makes the defaults show up too.
Although the decentralization of the various config objects is
somewhat broken by this class, if you consider it to be basically a
"baked in config file", then it might feel less strange.
In the end, if it is too much of a pain, don't worry about it, just
set your local defaults inside your configuration object. No big
deal.