org.apache.fop.fo

## Class StaticPropertyList

- java.lang.Object
- - org.apache.fop.fo.PropertyList
  - - org.apache.fop.fo.StaticPropertyList

-     public class StaticPropertyList
      extends PropertyList

  A very fast implementation of PropertyList that uses arrays to store the explicit set properties and another array to store cached values.

- - ### Field Summary

    - ### Fields inherited from class org.apache.fop.fo.PropertyList

      `parentPropertyList`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StaticPropertyList(FObj fObjToAttach, PropertyList parentPropertyList)` Construct a StaticPropertyList.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Property` | `get(int propId, boolean bTryInherit, boolean bTryDefault)` Override PropertyList.get() and provides fast caching of previously retrieved property values.
    `Property` | `getExplicit(int propId)` Return the value explicitly specified on this FO.
    `void` | `putExplicit(int propId, Property value)` Set an value defined explicitly on this FO.

    - ### Methods inherited from class org.apache.fop.fo.PropertyList

      `addAttributesToList, findBasePropertyName, findSubPropertyName, get, getAbsolutePositionProps, getAuralProps, getBorderPaddingBackgroundProps, getExplicitOrShorthand, getFObj, getFontProps, getFromParent, getHyphenationProps, getInherited, getMarginBlockProps, getMarginInlineProps, getNearestSpecified, getParentFObj, getParentPropertyList, getPropertyForAttribute, getRelativePositionProps, getTextDecorationProps, getUnknownPropertyValues, handleInvalidProperty, isValidPropertyName, selectFromWritingMode, validatePropertyValue`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### StaticPropertyList

          public StaticPropertyList(FObj fObjToAttach,
                                    PropertyList parentPropertyList)

      Construct a StaticPropertyList.
      Parameters:
        `fObjToAttach` - The FObj object.
        `parentPropertyList` - The parent property list.

  - ### Method Detail

    - #### getExplicit

          public Property getExplicit(int propId)

      Return the value explicitly specified on this FO.
      Specified by:
        `getExplicit` in class `PropertyList`
      Parameters:
        `propId` - The ID of the property whose value is desired.
      Returns:
        The value if the property is explicitly set, otherwise null.

    - #### putExplicit

          public void putExplicit(int propId,
                                  Property value)

      Set an value defined explicitly on this FO.
      Specified by:
        `putExplicit` in class `PropertyList`
      Parameters:
        `propId` - The ID of the property whose value is desired.
        `value` - The value of the property to set.

    - #### get

          public Property get(int propId,
                              boolean bTryInherit,
                              boolean bTryDefault)
                       throws PropertyException

      Override PropertyList.get() and provides fast caching of previously retrieved property values. Return the property on the current FlowObject. Depending on the passed flags, this will try to compute it based on other properties, or if it is inheritable, to return the inherited value. If all else fails, it returns the default value.
      Overrides:
        `get` in class `PropertyList`
      Parameters:
        `propId` - the property's id
        `bTryInherit` - true for inherited properties, or when the inherited value is needed
        `bTryDefault` - true when the default value may be used as a last resort
      Returns:
        the property
      Throws:
        `PropertyException` - if there is a problem evaluating the property

Copyright © 2023 Apache Software Foundation. All rights reserved.