Package org.jfree.report.flow.paginating

# Class PageStateList

java.lang.Object
org.jfree.report.flow.paginating.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

Constructors
Constructor
Description
`PageStateList(PaginatingReportProcessor proc)`
Creates a new reportstatelist.

## Method Summary

Modifier and Type
Method
Description
`void`
`add(PageState state)`
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.
`protected PaginatingReportProcessor`
`getPageProcess()`
`int`
`size()`
Returns the number of elements in this list.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### 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 Details

### getPageProcess

protected PaginatingReportProcessor getPageProcess()

### size

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

Returns:
  the number of elements in the list.

### 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.