Class 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 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

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