On Tue, Feb 07, 2006 at 10:09:38AM +0100, Jeremias Maerki wrote:
> As part of my upcoming optimization work I want to finalize the FOP API.
> I've written down a proposal in the Wiki:
> If possible, I'd like to have that finished by the end of the week.
> Please post your feedback ASAP.

Some remarks and questions.

1. D11, D12: FopEnvironment should be FopFactory?

2. How does FOUserAgent differ from FopFactory? What is rendering run
   dependent in FOUserAgent, now and in the future?

3. Is FopFactory's main role being a factory, or being a configuration
   holding object across rendering runs? I am not charmed by the name
   FopFactory; it does not seem to describe its role, only a side
   effect of its role, viz. spawning rendering runs.

4. You write about XML configuration. Can the configuration on a fop
   factory also be set using an Avalon Configuration object?

5. Do I understand correctly that the main alternatives to start a
   rendering run are:

   Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF);

   FOUserAgent userAgent = fopFactory.newFOUserAgent();
   userAgent.setTitle("My document");
   Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, userAgent);

   The difference being that in method B one can set properties that
   are specific to this rendering run?

6. D5 (The FOUserAgent can return the FopFactory instance. (needed
   internally by FOP)): Why? Because FOUserAgent is the programmed way
   to get at configuration settings? Could it be better to implement
   get methods on the user agent which get the settings from the
   factory object (factory object not exposed)? Or even pass the
   factory object instead of the user agent (Cf. question 2)?

7. What is the difference between these to instantiation methods:

   FOUserAgent userAgent = fopFactory.newFOUserAgent(); (D6)
   FOUserAgent userAgent = new FOUserAgent(fopFactory); (D3)

Regards, Simon

Simon Pepping
home page:

Reply via email to