# Package org.apache.fop.fo.properties

Classes representing the various property types as well as supporting data structures for the FO tree.

See: Description

Interface Summary
BreakPropertySet: Defines property access methods for the break-before and break-after properties.
CommonAccessibilityHolder: Classes that implement this interface support the common accessibility properties.
ShorthandParser: Interface used to provide parsing capabilities to Properties with shorthand characteristics (those with multiple components).
StructureTreeElementHolder: Implementations of this interface can return the element in the document's structure tree that they resulted into.

Class Summary
BackgroundPositionShorthand: Class encapsulating functionality for the `background-position` shorthand.
BackgroundPositionShorthand.Maker: Inner class for creating instances of this property
BackgroundPositionShorthand.Parser: Inner class to provide shorthand parsing capabilities
BorderSpacingShorthandParser: Shorthand parser for the "border-spacing" shorthand property.
BorderWidthPropertyMaker: This subclass of LengthProperty.Maker handles the special treatment of border width described in 7.7.20.
BoxCornerPropShorthandParser: Shorthand property parser for Box rounded corner properties
BoxPropShorthandParser: Shorthand property parser for Box properties
CharacterProperty: Superclass for properties that wrap a character value TODO convert character value to int in order to denote unicode scalar value instead of a single UTF-16 code element
CharacterProperty.Maker: Inner class for creating instances of CharacterProperty
ColorProperty: Class for properties that wrap Color values
ColorProperty.Maker: Inner class for creating instances of ColorTypeProperty
CommonAbsolutePosition: Store all common absolute position properties.
CommonAccessibility: The "role" and "source-document" properties, see Section 7.5 of the XSL-FO 1.1 Recommendation.
CommonAural: Stores all common aural properties.
CommonBorderPaddingBackground: Stores all common border and padding properties.
CommonBorderPaddingBackground.BorderInfo: Utility class to express border info.
CommonFont: Collection of CommonFont properties
CommonHyphenation: Store all common hyphenation properties.
CommonMarginBlock: Store all common margin properties for blocks.
CommonMarginInline: Store all common margin properties for inlines.
CommonRelativePosition: Store all common relative position properties.
CommonTextDecoration: Stores all information concerning text-decoration.
CompoundPropertyMaker: This class extends Property.Maker with support for sub-properties.
CondLengthProperty: Superclass for properties that have conditional lengths
CondLengthProperty.Maker: Inner class for creating instances of CondLengthProperty
CorrespondingPropertyMaker: Maker class for handling corresponding properties.
DimensionPropertyMaker: Dimensioned property maker.
EnumLength: A length quantity in XSL which is specified as an enum, such as "auto"
EnumNumber: A number quantity in XSL which is specified as an enum, such as "no-limit".
EnumProperty: Superclass for properties that wrap an enumeration value
EnumProperty.Maker: Inner class for creating EnumProperty instances
FixedLength: An absolute length quantity in XSL
FontFamilyProperty: Property class for the font-family property.
FontFamilyProperty.Maker: Inner class for creating instances of ListProperty
FontShorthandParser: A shorthand parser for the font shorthand property
FontShorthandProperty: Property subclass for the font shorthand
FontShorthandProperty.Maker: Inner class for creating instances of FontShorthandProperty
FontSizePropertyMaker: This subclass of LengthProperty.Maker handles the special treatment of relative font sizes described in 7.8.4.
FontStretchPropertyMaker: This subclass of EnumProperty.Maker handles the special treatment of relative font stretch values described in 7.8.5.
FontWeightPropertyMaker: Font weight property maker.
GenericShorthandParser: Generic shorthand parser for ListProperties
IndentPropertyMaker: This property maker handles the calculations described in 5.3.2 which involves the sizes of the corresponding margin-* properties and the padding-* and border-*-width properties.
KeepProperty: Class for properties that wrap Keep values
KeepProperty.Maker: Inner class for creating instances of KeepProperty
LengthPairProperty: Superclass for properties wrapping a LengthPair value
LengthPairProperty.Maker: Inner class for creating instances of LengthPairProperty
LengthProperty: Superclass for properties wrapping a Length value.
LengthProperty.Maker: Inner class for making instances of LengthProperty
LengthRangeProperty: Superclass for properties that contain LengthRange values
LengthRangeProperty.Maker: Inner class for a Maker for LengthProperty objects
LineHeightPropertyMaker: A maker which calculates the line-height property.
ListProperty: Superclass for properties that are lists of other properties
ListProperty.Maker: Inner class for creating instances of `ListProperty`
NumberProperty: Class for handling numeric properties
NumberProperty.Maker: Inner class for making NumberProperty objects
NumberProperty.PositiveIntegerMaker: A positive integer property maker.
OptionalCharacterProperty: Superclass for properties that wrap an optional character value TODO convert character value to int in order to denote unicode scalar value instead of a single UTF-16 code element
OptionalCharacterProperty.Maker: Inner class for creating instances of OptionalCharacterProperty
PageBreakShorthandParser: Shorthand parser for page-break-before, page-break-after and page-break-inside.
PageDimensionMaker: Custom Maker for page-height / page-width
PercentLength: a percent specified length quantity in XSL
PositionShorthandParser: A shorthand parser for the position shorthand.
Property: Base class for all property objects
PropertyCache<T>: Thread-safe cache that minimizes the memory requirements by fetching an instance from the cache that is equal to the given one.
PropertyMaker: Base class for all property makers
ReferenceOrientationMaker: Custom Maker adding validity check for reference-orientation
SpaceProperty: Base class used for handling properties of the fo:space-before and fo:space-after variety.
SpaceProperty.Maker: Inner class used to create new instances of SpaceProperty
SpacePropertyMaker: Special CorrespondingPropertyMaker that sets the conditionality subproperty correctly for space-* properties.
SpacingPropertyMaker: A maker which creates 'letter-spacing' and 'word-spacing' properties.
StringProperty: Exists primarily as a container for its Maker inner class, which is extended by many string-based FO property classes.
StringProperty.Maker: Inner class for making instances of StringProperty
TableBorderPrecedence: A table border preference property maker.
TableColLength: A table-column width specification, possibly including some number of proportional "column-units".
TextDecorationMaker: Dedicated `PropertyMaker` for handling the `text-decoration` property.
ToBeImplementedProperty: A special property for representing an as yet unimplemented property.
ToBeImplementedProperty.Maker: A to be implemented property maker instance.
URIProperty: Class modeling a property that has a value of type <uri-specification>.
URIProperty.Maker: Inner `PropertyMaker` subclass responsible for making instances of this type.
VerticalAlignShorthandParser: A shorthand parser for the vertical-align shorthand.
WhiteSpaceShorthandParser: Shorthand parser for the white-space property; Sets the values for white-space-treament, linefeed-treatment, white-space-collapse and wrap-option
XMLLangShorthandParser: A parser for the xml:lang property.

## Package org.apache.fop.fo.properties Description

Classes representing the various property types as well as supporting data structures for the FO tree.