Class DefaultPageStateList

  extended by org.pentaho.reporting.engine.classic.core.layout.output.DefaultPageStateList
All Implemented Interfaces:

public class DefaultPageStateList
extends Object
implements PageStateList

The ReportState list stores a report states for the beginning of every page. The list is filled on repagination and read when a report or a page of the report is printed.

Important: This list stores page start report states, not arbitary report states. These ReportStates are special: they can be reproduced by calling processPage on the report.

Internally this list is organized as a list of WeakReferenceLists, where every WeakReferenceList stores a certain number of page states. The first 20 states are stored in an ordinary list with strong-references, so these states never get GarbageCollected (and so they must never be restored by reprocessing them). The next 100 states are stored in 4-element ReferenceLists, so if a reference is lost, only 4 states have to be reprocessed. All other states are stored in 10-element lists.

Thomas Morgner

Constructor Summary
DefaultPageStateList(ReportProcessor proc)
          Creates a new reportstatelist.
Method Summary
 void add(PageState pageState)
          Adds this report state to the end of the list.
 void clear()
          Removes all elements in the list.
 PageState get(int index)
          Retrieves the element on position index in this list.
 int size()
          Returns the number of elements in this list.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public DefaultPageStateList(ReportProcessor proc)
Creates a new reportstatelist. The list will be filled using the specified report and output target. Filling of the list is done elsewhere.

proc - the reportprocessor used to restore lost states (null not permitted).
NullPointerException - if the report processor is null.
Method Detail


public int size()
Returns the number of elements in this list.

Specified by:
size in interface PageStateList
the number of elements in the list.


public void add(PageState pageState)
Adds this report state to the end of the list.

Specified by:
add in interface PageStateList
pageState - the report state.


public void clear()
Removes all elements in the list.

Specified by:
clear in interface PageStateList


public PageState get(int index)
Retrieves the element on position index in this list.

Specified by:
get in interface PageStateList
index - the index.
the report state.