xmlgraphics-fop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexios Giotis <alex.gio...@gmail.com>
Subject Re: Definition of Public API was (Re: svn commit: r1234877 - in /xmlgraphics/fop/trunk: examples/embedding/java/embedding/ examples/embedding/java/embedding/atxml/ src/java/org/apache/fop/cli/ src/java/org/apache/fop/render/ src/java/org/apache/fop/render/awt/ src/java/org/apache/fop)
Date Fri, 27 Jan 2012 20:50:42 GMT
I suggest to add 2 more classes to what is considered a public API.

1. org.apache.fop.render.intermediate.IFException
This is obvious. Let's add it even though nobody will probably make there any backwards incompatible

2. org.apache.fop.render.intermediate.util.IFConcatenator
It makes no sense including the IFSerializer class and leaving out the class that reads FOP
IF files and creates the final output format. 
This is used at least in embedding.intermediate.ExampleConcat.java

Alexios Giotis

On Jan 27, 2012, at 1:23 PM, Chris Bowditch wrote:

> On 25/01/2012 14:59, mehdi houshmand wrote:
> Hi Mehdi,
>> I've spent some time looking through the examples and the
>> documentation above and I think the classes listed below are all the
>> classes necessary for most the use-cases and thus should be considered
>> the public API.
>> org.apache.fop.apps.*
>> org.apache.fop.fo.FOEventHandler
>> org.apache.fop.fonts.FontManager
>> org.apache.fop.events.EventListener
>> org.apache.fop.events.Event
>> org.apache.fop.events.model.EventSeverity
>> org.apache.fop.render.RendererFactory
>> org.apache.fop.render.intermediate.IFDocumentHandler
>> org.apache.fop.render.intermediate.IFParser
>> org.apache.fop.render.intermediate.IFUtil
>> org.apache.fop.render.intermediate.IFSerializer
>> org.apache.fop.render.intermediate.IFContext
>> This would mean deprecating
>> o.a.f.apps.FOUserAgent.setRendererOverride(...) since (if I'm not
>> mistaken) this is legacy code to bind a MIME type to IF output.
>> Obviously I would also give instructions to use the IFDocumentHandler
>> implementation. Also, while we're at it, the IFDocumentHandler method
>> isn't described on the link above, so I'll try and put some
>> information there as well.
> Thanks for preparing the list of classes that form the public API. I have chcked the
code that we use to embed FOP and it's all present in the above list. A shame that its necessary
to use classes from render.intermediate in order to go FO->IF->PDF. In an ideal world
those classes should be in a top level intermediate package or a sub package of apps, but
that won't be easy to change now!
> +1 to adding the above list to the website so we now have a clear definition of what
is part of the API and what is not.
> The changes you propose to the move foUserAgent to the Renderer constructors do not affect
any of the above API classes so +1 to commit those too.
> Thanks,
> Chris
>> I plan to put this information on the website, so please feel free to
>> discuss if you have any questions and/or wish to make amendments.
>> Mehdi
>> On 24 January 2012 19:36, Glenn Adams<glenn@skynav.com>  wrote:
>>> On Tue, Jan 24, 2012 at 10:08 AM, Vincent Hennebert<vhennebert@gmail.com>
>>> wrote:
>>>> I would consider to be part of the public API the code that is present
>>>> on the following page:
>>>> http://xmlgraphics.apache.org/fop/trunk/embedding.html
>>> I agree. We should distinguish between APIs documented as being explicitly
>>> part of the embedding APIs and other public interfaces/members not
>>> documented as such.
>>> Also, it is probably good to review, at least during every release, whether
>>> the embedding API documentation is correct and complete.

View raw message