3. Retrieving a property value

For all FO types the FO spec specifies a large number of property types for which the user may specify a value in order to modify the resulting layout of the document. Many of these properties have a default value, many others inherit their value from the parent FO if they are not specified. In principle the layout process must retrieve the value of each possible property type of an FO node in order to determine the appropriate value of the corresponding trait.

Retrieving a property value goes through these steps:

Compute corresponding, as used in findProperty, proceeds as follows:

PropertyManager, CommonBorderAndPadding, CommonBackground, CommonMarginBlock, CommonHyphenation are convenience classes used in the calculation of the traits. PropertyManager has methods to return objects of these types. A CommonBorderAndPadding object and a CommonHyphenation object are cached. A CommonBackground object and a CommonMarginBlock object are calculated when requested. Similarly for many other convenience classes Common* for which PropertyManager can return an object. These classes are in package fo.properties. Similar classes called *Props are in package traits. Of these PropertyManager can only return a BlockProps object.