Package org.apache.fop.area
Class IDTracker
java.lang.Object
org.apache.fop.area.IDTracker
Used by the AreaTreeHandler to keep track of ID reference usage
on a PageViewport level.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addUnresolvedIDRef
(String idref, Resolvable res) Add an Resolvable object with an unresolved idrefboolean
Check if an ID has already been resolvedvoid
Tie a PageViewport with an ID found on a child area of the PV.Get the firstPageViewport
containing content generated by the FO with the givenid
.Get the lastPageViewport
containing content generated by the FO with the givenid
.Get the list of page viewports that have an area with a given id.void
replacePageViewPort
(PageViewport oldPageViewPort, PageViewport newPageViewPort) Replace all id locations pointing to the old page view port with a new one.void
Signals that all areas for the formatting object with the given ID have been generated.void
This method tie an ID to the areaTreeHandler until this one is ready to be processed.void
Tries to resolve all unresolved ID references on the given page.
-
Constructor Details
-
IDTracker
public IDTracker()
-
-
Method Details
-
associateIDWithPageViewport
Tie a PageViewport with an ID found on a child area of the PV. Note that an area with a given ID may be on more than one PV, hence an ID may have more than one PV associated with it.- Parameters:
id
- the property ID of the areapv
- a page viewport that contains the area with this ID
-
signalPendingID
This method tie an ID to the areaTreeHandler until this one is ready to be processed. This is used in page-number-citation-last processing so we know when an id can be resolved.- Parameters:
id
- the id of the object being processed
-
signalIDProcessed
Signals that all areas for the formatting object with the given ID have been generated. This is used to determine when page-number-citation-last ref-ids can be resolved.- Parameters:
id
- the id of the formatting object which was just finished
-
alreadyResolvedID
Check if an ID has already been resolved- Parameters:
id
- the id to check- Returns:
- true if the ID has been resolved
-
tryIDResolution
Tries to resolve all unresolved ID references on the given page.- Parameters:
pv
- page viewport whose ID refs to resolve
-
getPageViewportsContainingID
Get the list of page viewports that have an area with a given id.- Parameters:
id
- the id to lookup- Returns:
- the list of PageViewports
-
getFirstPageViewportContaining
Get the firstPageViewport
containing content generated by the FO with the givenid
.- Parameters:
id
- the id- Returns:
- the first
PageViewport
for the id;null
if no matchingPageViewport
was found
-
getLastPageViewportContaining
Get the lastPageViewport
containing content generated by the FO with the givenid
.- Parameters:
id
- the id- Returns:
- the last
PageViewport
for the id;null
if no matchingPageViewport
was found
-
addUnresolvedIDRef
Add an Resolvable object with an unresolved idref- Parameters:
idref
- the idref whose target id has not yet been locatedres
- the Resolvable object needing the idref to be resolved
-
replacePageViewPort
Replace all id locations pointing to the old page view port with a new one. This is necessary when a layouted page is replaced with a new one (e.g. last page handling).- Parameters:
oldPageViewPort
- old page view portnewPageViewPort
- new page view port
-