fop 2.1

org.apache.fop.area
Class IDTracker

java.lang.Object
  extended by org.apache.fop.area.IDTracker

public class IDTracker
extends java.lang.Object

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


Constructor Summary
IDTracker()
           
 
Method Summary
 void addUnresolvedIDRef(java.lang.String idref, Resolvable res)
          Add an Resolvable object with an unresolved idref
 boolean alreadyResolvedID(java.lang.String id)
          Check if an ID has already been resolved
 void associateIDWithPageViewport(java.lang.String id, PageViewport pv)
          Tie a PageViewport with an ID found on a child area of the PV.
 PageViewport getFirstPageViewportContaining(java.lang.String id)
          Get the first PageViewport containing content generated by the FO with the given id.
 PageViewport getLastPageViewportContaining(java.lang.String id)
          Get the last PageViewport containing content generated by the FO with the given id.
 java.util.List<PageViewport> getPageViewportsContainingID(java.lang.String id)
          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 signalIDProcessed(java.lang.String id)
          Signals that all areas for the formatting object with the given ID have been generated.
 void signalPendingID(java.lang.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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IDTracker

public IDTracker()
Method Detail

associateIDWithPageViewport

public void associateIDWithPageViewport(java.lang.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

signalPendingID

public void signalPendingID(java.lang.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

signalIDProcessed

public void signalIDProcessed(java.lang.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

alreadyResolvedID

public boolean alreadyResolvedID(java.lang.String id)
Check if an ID has already been resolved

Parameters:
id - the id to check
Returns:
true if the ID has been resolved

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

getPageViewportsContainingID

public java.util.List<PageViewport> getPageViewportsContainingID(java.lang.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

getFirstPageViewportContaining

public PageViewport getFirstPageViewportContaining(java.lang.String id)
Get the first PageViewport containing content generated by the FO with the given id.

Parameters:
id - the id
Returns:
the first PageViewport for the id; null if no matching PageViewport was found

getLastPageViewportContaining

public PageViewport getLastPageViewportContaining(java.lang.String id)
Get the last PageViewport containing content generated by the FO with the given id.

Parameters:
id - the id
Returns:
the last PageViewport for the id; null if no matching PageViewport was found

addUnresolvedIDRef

public void addUnresolvedIDRef(java.lang.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

replacePageViewPort

public void replacePageViewPort(PageViewport oldPageViewPort,
                                PageViewport newPageViewPort)
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 port
newPageViewPort - new page view port

fop 2.1

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