Good point about YAML, Mark! I've been wanting to switch to something like that for a while. The really long, dotted parameter names ECJ uses to denote an object hierarchy work great, but are painful to read.
Just thinking aloud here: I've also been trying to understand the similarities and differences between using a configuration file/markup language for parameters and relationships between objects, vs. using an inversion control framework like
Spring. Is what Spring does via annotations and XML files essentially the same thing that ECJ does with property files?