On 09.02.2007 10:21:23 Vincent Hennebert wrote: <snip/> > > Going further along this train of thought.. IMO, in an ideal world all > > this config stuff should be abstracted in a separate class such as > > FopConfig - so code dependencies on the avalon Configurable interface > > would be minimised and configuration would be centrally managed. > > Interesting. I'm not a specialist of the config area, so I hope someone > who has more insight in this area will be able to give comments. If you > want to give it a try, please do. Anything that goes towards simplifying > the code base is a good thing, IMO.
A central config class is probably not a bad idea. Some people have asked how fonts could be configured programmatically. That's not so easy at the moment. Something like that could simplify it with the nice side-effect to make FopFactory and FOUserAgent a little smaller. OTOH, the use of Avalon Framework allows for a big amount of flexibility. The renderers can be configured from the central configuration without knowing how the particular configuration layout for the renderer looks like (Configurable interface). This is handy if you use custom renderers, for example. If the configuration were limited to a central object structure it would limit extensibility quite a bit. Maybe we need something in between: A "strongly coupled" base config for FOP core and "loosly coupled" configuration for the plug-ins (renderers, XML handlers etc.). Not sure how best to solve this dilemma. Flexibility vs. user-friendlyness. Hmm. Thinking about configuration I end up each time being a little unhappy how fonts are configured: per renderer. Especially now that we've decided not to pursue the FOrayFont road at this time, we have to think about the direction we want to take. I'm still thinking around a "font source" concept (discussed in 2003): FOP provides a number of font sources and each renderer can choose fonts from the set of font sources it supports. Font sources would be: Java2D subsystem, Type 1 fonts, TrueType/OpenType fonts, PCL fonts, AFP fonts etc. Something like that would allow a proper one-time configuration of all fonts and lets the renderers use whatever they need. But that's another story/thread. Jeremias Maerki