Thanks, Finn and John Austin, for your efforts here.
It's a pleasure.
Victor, not to rush you, but how agreeable are you in general on switching to integer enumerations for FOP properties? (Given Alt-Design, Peter obviously approves.) I checked Alt-Design's PropNames.java[1] and liked what I saw. It doesn't necessarily have to be that particular design, just the idea of integer constants in general.
For inspiration you can also take a look at some of the same files that I made:
http://bckfnn-modules.sf.net/Constants.java http://bckfnn-modules.sf.net/FOPropertyMapping.java http://bckfnn-modules.sf.net/PropSets.java
The PropSets.java file is created from a new .xml file that specifies the element and property structure.
http://bckfnn-modules.sf.net/foelements.xml
Perhaps the information in PropSets.java could also be created from a xsl-fo DTD.
In addition to the performance improvements, I suggested before we could have some form of
// very rough pseudocode checkPropertySupported (int property) { return isSupported[property]; }
That would be written like this:
boolean checkPropertySupported (int property) { return indices[i] != 0; }
It appears that using int constants gives us more ways
to efficiently work with the data.
I agree.
regards, finn