xmlgraphics-fop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Arved Sandstrom <Arved...@chebucto.ns.ca>
Subject Reworking the hierarchy
Date Sun, 31 Dec 2000 02:27:26 GMT
Hi, all

Cleaning up our hierarchy, both of FOs and of areas, has been suggested a
number of times. Before proceeding any further with keeps, for example, I've
decided to do some work to normalize things.

Here's what I have in mind:

(1) traits that apply to all areas will be put in place. I'm thinking of things
like "area-class", "is-first", "is-last", "is-reference-area", the
progression-directions, and so forth. This also includes "generated-by" and
"returned-by". Area.java will continue to be the base class that stores this
common information;

(2) Our areas can stand a bit of work to better reflect the division between
block-areas and inline-areas. One of our main problems here is that we have
many areas inheriting directly from Area: AreaContainer, BlockArea, InlineArea,
LineArea, for example. This is confusing. Line areas _are_ block areas. Also,
I'd like to see a well-defined role for AreaContainer: it's clearly being used
mostly as a reference area, which is cool, but I'd like to see that be a strong

(3) As Fotis pointed out some time ago, we have 5 different categories of FO's
as described by Section 6.2, including %block; and %inline;. Enough things
apply to FO's on a category basis that we ought to make use of them, so I'm
going to normalize the FO hierarchy along these lines also. Because of our
existing abstract implementation  classes, like FObj and FObjMixed, I think
this division will very likely be done through interfaces.

I've just started work on (1), and am open to suggestions and advice. The main
impact will be on properties and property-handling in individual FO's; we
should see a lot of that extracted out and centralized.

Regards, Arved

View raw message