Note: I added a page to the wiki for this thread.
http://nagoya.apache.org/wiki/apachewiki.cgi?PropertiesRedesign

After thinking about the proposal, I'm not sure it solves anything. 

There are two aspects to the redesign of Property handling in FOP.

      * Interface means the external points of contact for Property data
      * Interface determines impact of changes on other components of
        the system.
      * Implementation means the internal construction of classes 
      * Implementation determines performance characteristics of the
        program.

The discussion favours the proposal.

Interface
The current proposal asks that FOP will employ Java-Bean-like accessors
for the properties of Formatting Objects visible to the FOTree. As an
example: 

 getMaxWidth?() for the property "max-width" 

There are between 250 and 380 of these methods required and they could
be generated automatically from an XML-based list of properties. This
list could be derived (if not generated) from the XSL-FO Specification
itself. Some kind of simple adapter class can be used to equate the
proposed interface to the existing one:

 class PropertyAdapter? extends Property{ // Ugh! just f'rinstance

  // repeat the following about 380 times:
  final public Property getMaxWidth?() { // use final to inline and annoy
    return get("max-width");
  }
 }

There is no statement defining the current interface. This will be
determined from existing code.


Implementation
The proposal makes no suggestion for implementation and my earlier
submission is not relevant except as an indication that this issue is
linked to performance.


-- 
John Austin <[EMAIL PROTECTED]>

Reply via email to