## org.jfree.report.flow.paginating
Class PageStateList

    java.lang.Object
      org.jfree.report.flow.paginating.PageStateList

    public class PageStateList

extends java.lang.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
`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 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:
    `java.lang.NullPointerException` - if the report processor is `null`.

Method Detail

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