AreaFactory patch (once again ;-)

2004-11-04 Thread Tibor Vyletel
Hello fopsters,

so I have finished (and published in bugzilla) the patch which have aroused
quite a discussion around here.

Just a short description:
1) org.apache.fop.area.AreaFactory
- now contains specific create method for each (used) subclass of Area. The
generic Area create(FObj, LayoutManager) method was left in the interface
to, although its usage in client code is not recommended.
- ATM, all the create method have the same argument signature. I think, that
this is a place which can undergo changes in future (TextArea creation is a
good example). This will be dependent on the amount of work which might be
shifted from LMs to AreaFactories...

2) org.apache.fop.area.DefaultAreaFactory
- basic implementation; in most cases just default constructor of an area
subtype is called

3) FOUserAgent
- getAreaFactory()/setAreaFactory() method pair - same as in the example
sent before

4) AbstractLayoutManager
- I added convenience method getAreaFactory() to this class. So the actual
area creation in LMs is usually limited to:
curBlockArea = getAreaFactory().createBlock(fobj, this);

5) Default constructors
- I changed several Area classes, too. In particular those which have not
had a default constructor, yet.

So, that's it. Thanks to those who have supported this refactoring. It's in
the bugzilla now, so it's up to you what you will do with it. Anyway, please
send me any comment you have. I don't say that this is a finished and
non-changeable piece of code (such things don't exists in SW development, do
they? ;) any further suggestions/correction i am going to implement.

Greets,

Tibor Vyletel
ICQ# 79458455



Re: AreaFactory patch (once again ;-)

2004-11-04 Thread Glen Mazza

--- Tibor Vyletel [EMAIL PROTECTED] wrote:

 Hello fopsters,
 
 so I have finished (and published in bugzilla) the
 patch which have aroused
 quite a discussion around here.
 
 Just a short description:
 1) org.apache.fop.area.AreaFactory
 - now contains specific create method for each
 (used) subclass of Area. 

I like the results of this change in particular.

Glen