org.apache.fop.area.inline

## Class UnresolvedPageNumber

- java.lang.Object
- - org.apache.fop.area.AreaTreeObject
  - - org.apache.fop.area.Area
    - - org.apache.fop.area.inline.InlineArea
      - - org.apache.fop.area.inline.InlineParent
        - - org.apache.fop.area.inline.AbstractTextArea
          - - org.apache.fop.area.inline.TextArea
            - - org.apache.fop.area.inline.UnresolvedPageNumber

- All Implemented Interfaces:
    Serializable, Cloneable, Resolvable

      public class UnresolvedPageNumber
      extends TextArea
      implements Resolvable

  Unresolvable page number area. This is a word area that resolves itself to a page number from an id reference.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.fop.area.inline.AbstractTextArea

      `AbstractTextArea.TextAdjustingInfo`

    - ### Nested classes/interfaces inherited from class org.apache.fop.area.inline.InlineArea

      `InlineArea.InlineAdjustingInfo`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static boolean` | `FIRST` Indicates that the reference refers to the first area generated by a formatting object.
    `static boolean` | `LAST` Indicates that the reference refers to the last area generated by a formatting object.

    - ### Fields inherited from class org.apache.fop.area.inline.InlineParent

      `autoSize, inlines, minChildOffset`

    - ### Fields inherited from class org.apache.fop.area.inline.InlineArea

      `adjustingInfo, blockProgressionOffset`

    - ### Fields inherited from class org.apache.fop.area.Area

      `bidiLevel, bpd, CLASS_ABSOLUTE, CLASS_BEFORE_FLOAT, CLASS_FIXED, CLASS_FOOTNOTE, CLASS_MAX, CLASS_NORMAL, CLASS_SIDE_FLOAT, effectiveIPD, ipd, log, ORIENT_0, ORIENT_180, ORIENT_270, ORIENT_90, traits`

    - ### Fields inherited from class org.apache.fop.area.AreaTreeObject

      `extensionAttachments, foreignAttributes`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `UnresolvedPageNumber()`
    `UnresolvedPageNumber(String id, Font f)` Create a new unresolved page number.
    `UnresolvedPageNumber(String id, Font f, boolean type)` Create a new unresolved page number.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `applyVariationFactor(double variationFactor, int lineStretch, int lineShrink)` recursively apply the variation factor to all descendant areas
    `List` | `collectInlineRuns(List runs)` Collection bidi inline runs.
    `String[]` | `getIDRefs()` Get the id references for this area.
    `String` | `getText()` Get the (resolved or unresolved) text.
    `boolean` | `isResolved()` Check if this is resolved.
    `void` | `resolveIDRef(String id, List<PageViewport> pages)` Resolve the page number idref This resolves the idref for this object by getting the page number string from the first page in the list of pages that apply for this ID.

    - ### Methods inherited from class org.apache.fop.area.inline.TextArea

      `addSpace, addWord, addWord, addWord, addWord, getEffectiveIPD, isHyphenated, removeText, setHyphenated, toString, updateLevel`

    - ### Methods inherited from class org.apache.fop.area.inline.AbstractTextArea

      `getBaselineOffset, getTextLetterSpaceAdjust, getTextWordSpaceAdjust, setBaselineOffset, setSpaceDifference, setTextLetterSpaceAdjust, setTextWordSpaceAdjust`

    - ### Methods inherited from class org.apache.fop.area.inline.InlineParent

      `addChildArea, getChildAreas, resetChildrenLevel, setFromFootnote`

    - ### Methods inherited from class org.apache.fop.area.inline.InlineArea

      `getAdjustingInfo, getBlockProgressionOffset, getParentArea, handleIPDVariation, hasLineThrough, hasOverline, hasUnderline, increaseIPD, isAncestor, isAncestorOrSelf, isBlinking, notifyIPDVariation, setAdjustingInfo, setAdjustingInfo, setAdjustment, setBlockProgressionOffset, setParentArea`

    - ### Methods inherited from class org.apache.fop.area.Area

      `activateEffectiveIPD, addTrait, clone, getAllocBPD, getAllocIPD, getAreaClass, getBidiLevel, getBorderAndPaddingWidthAfter, getBorderAndPaddingWidthBefore, getBorderAndPaddingWidthEnd, getBorderAndPaddingWidthStart, getBPD, getChangeBarList, getEffectiveAllocIPD, getIPD, getSpaceAfter, getSpaceBefore, getSpaceEnd, getSpaceStart, getTrait, getTraitAsBoolean, getTraitAsInteger, getTraits, hasTrait, hasTraits, isFromFootnote, resetBidiLevel, setAreaClass, setBidiLevel, setBPD, setChangeBarList, setIPD, setTraits, setWritingModeTraits`

    - ### Methods inherited from class org.apache.fop.area.AreaTreeObject

      `addExtensionAttachment, getExtensionAttachments, getForeignAttributes, getForeignAttributeValue, hasExtensionAttachments, setExtensionAttachments, setForeignAttribute, setForeignAttributes`

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

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

- - ### Field Detail

    - #### FIRST

          public static final boolean FIRST

      Indicates that the reference refers to the first area generated by a formatting object.
      See Also:
        Constant Field Values

    - #### LAST

          public static final boolean LAST

      Indicates that the reference refers to the last area generated by a formatting object.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### UnresolvedPageNumber

          public UnresolvedPageNumber()

    - #### UnresolvedPageNumber

          public UnresolvedPageNumber(String id,
                                      Font f)

      Create a new unresolved page number.
      Parameters:
        `id` - the id reference for resolving this
        `f` - the font for formatting the page number

    - #### UnresolvedPageNumber

          public UnresolvedPageNumber(String id,
                                      Font f,
                                      boolean type)

      Create a new unresolved page number.
      Parameters:
        `id` - the id reference for resolving this
        `f` - the font for formatting the page number
        `type` - indicates whether the reference refers to the first or last area generated by a formatting object

  - ### Method Detail

    - #### getIDRefs

          public String[] getIDRefs()

      Get the id references for this area.
      Specified by:
        `getIDRefs` in interface `Resolvable`
      Returns:
        the id reference for this unresolved page number

    - #### getText

          public String getText()

      Get the (resolved or unresolved) text.
      Overrides:
        `getText` in class `TextArea`
      Returns:
        the text

    - #### resolveIDRef

          public void resolveIDRef(String id,
                                   List<PageViewport> pages)

      Resolve the page number idref This resolves the idref for this object by getting the page number string from the first page in the list of pages that apply for this ID. The page number text is then set to the String value of the page number. TODO: [GA] May need to run bidi algorithm and script processor on resolved page number.
      Specified by:
        `resolveIDRef` in interface `Resolvable`
      Parameters:
        `id` - an id whose PageViewports have been determined
        `pages` - the list of PageViewports associated with this ID

    - #### isResolved

          public boolean isResolved()

      Check if this is resolved.
      Specified by:
        `isResolved` in interface `Resolvable`
      Returns:
        true when this has been resolved

    - #### applyVariationFactor

          public boolean applyVariationFactor(double variationFactor,
                                              int lineStretch,
                                              int lineShrink)

      recursively apply the variation factor to all descendant areas
      Overrides:
        `applyVariationFactor` in class `AbstractTextArea`
      Parameters:
        `variationFactor` - the variation factor that must be applied to adjustment ratios
        `lineStretch` - the total stretch of the line
        `lineShrink` - the total shrink of the line
      Returns:
        true if there is an UnresolvedArea descendant

    - #### collectInlineRuns

          public List collectInlineRuns(List runs)

      Collection bidi inline runs. Override of @{link InlineParent} implementation. N.B. [GA] without this override, the page-number-citation_writing_mode_rl layout engine test will fail. It may be that the test needs to be updated rather than using this override.
      Overrides:
        `collectInlineRuns` in class `InlineParent`
      Parameters:
        `runs` - current list of inline runs
      Returns:
        modified list of inline runs, having appended new run

Copyright © 2025 Apache Software Foundation. All rights reserved.