org.jfree.report.flow.paginating

Class PageStateList

public class PageStateList extends Object

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.

Author: Thomas Morgner

Constructor Summary
PageStateList(PaginatingReportProcessor proc)
Creates a new reportstatelist.
Method Summary
voidadd(PageState state)
Adds this report state to the end of the list.
voidclear()
Removes all elements in the list.
PageStateget(int index)
Retrieves the element on position index in this list.
protected PaginatingReportProcessorgetPageProcess()
intsize()
Returns the number of elements in this list.

Constructor Detail

PageStateList

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

Parameters: proc the reportprocessor used to restore lost states (null not permitted).

Throws: NullPointerException if the report processor is null.

Method Detail

add

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

Parameters: state the report state.

clear

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

get

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

Parameters: index the index.

Returns: the report state.

getPageProcess

protected PaginatingReportProcessor getPageProcess()

size

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

Returns: the number of elements in the list.