org.apache.fop.area

Class IDTracker


public class IDTracker
extends java.lang.Object

Used by the AreaTreeHandler to keep track of ID reference usage on a PageViewport level.

Method Summary

void
addUnresolvedIDRef(String idref, Resolvable res)
Add an Resolvable object with an unresolved idref
boolean
alreadyResolvedID(String id)
Check if an ID has already been resolved
void
associateIDWithPageViewport(String id, PageViewport pv)
Tie a PageViewport with an ID found on a child area of the PV.
List
getPageViewportsContainingID(String id)
Get the list of page viewports that have an area with a given id.
void
signalIDProcessed(String id)
Signals that all areas for the formatting object with the given ID have been generated.
void
signalPendingID(String id)
This method tie an ID to the areaTreeHandler until this one is ready to be processed.
void
tryIDResolution(PageViewport pv)
Tries to resolve all unresolved ID references on the given page.

Method Details

addUnresolvedIDRef

public void addUnresolvedIDRef(String idref,
                               Resolvable res)
Add an Resolvable object with an unresolved idref
Parameters:
idref - the idref whose target id has not yet been located
res - the Resolvable object needing the idref to be resolved

alreadyResolvedID

public boolean alreadyResolvedID(String id)
Check if an ID has already been resolved
Parameters:
id - the id to check
Returns:
true if the ID has been resolved

associateIDWithPageViewport

public void associateIDWithPageViewport(String id,
                                        PageViewport pv)
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 area
pv - a page viewport that contains the area with this ID

getPageViewportsContainingID

public List getPageViewportsContainingID(String id)
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

signalIDProcessed

public void signalIDProcessed(String id)
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

signalPendingID

public void signalPendingID(String id)
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

tryIDResolution

public void tryIDResolution(PageViewport pv)
Tries to resolve all unresolved ID references on the given page.
Parameters:
pv - page viewport whose ID refs to resolve

Copyright 1999-2007 The Apache Software Foundation. All Rights Reserved.