Package org.jfree.report.modules.gui.swing.printing

## Class PrintReportProcessor

- java.lang.Object
- - org.jfree.report.flow.AbstractReportProcessor
  - - org.jfree.report.flow.paginating.PaginatingReportProcessor
    - - org.jfree.report.modules.gui.swing.printing.PrintReportProcessor

- All Implemented Interfaces:
    `java.awt.print.Pageable`, `ReportProcessor`

      public class PrintReportProcessor
      extends PaginatingReportProcessor
      implements java.awt.print.Pageable

  A paginating report processor that outputs to Pageables.
  Author:
    Thomas Morgner

- - ### Field Summary

    - ### Fields inherited from interface java.awt.print.Pageable

      `UNKNOWN_NUMBER_OF_PAGES`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PrintReportProcessor​(ReportJob job)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `close()` |
    `protected org.jfree.layouting.modules.output.graphics.GraphicsOutputProcessor` | `getGraphicsProcessor()` |
    `protected ReportJob` | `getJob()` |
    `int` | `getNumberOfPages()` | Returns the number of pages in the set.
    `org.jfree.layouting.modules.output.graphics.PageDrawable` | `getPageDrawable​(int pageIndex)` |
    `java.awt.print.PageFormat` | `getPageFormat​(int pageIndex)` | Returns the `PageFormat` of the page specified by `pageIndex`.
    `java.awt.print.Printable` | `getPrintable​(int pageIndex)` | Returns the `Printable` instance responsible for rendering the page specified by `pageIndex`.
    `boolean` | `isError()` |
    `boolean` | `paginate()` |
    `protected org.jfree.layouting.modules.output.graphics.PageDrawable` | `processPage​(int page)` |
    `void` | `processReport​(ReportJob job)` | Throws an unsupported operation exception.

    - ### Methods inherited from class org.jfree.report.flow.paginating.PaginatingReportProcessor

      `createTarget, getLogicalPageState, getOutputProcessor, getPhysicalPageState, isPaginated, prepareReportProcessing, processPage, processPaginationRun`

    - ### Methods inherited from class org.jfree.report.flow.AbstractReportProcessor

      `createFlowControler, createReportContext, processReportRun`

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

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

- - ### Constructor Detail

    - #### PrintReportProcessor

          public PrintReportProcessor​(ReportJob job)

  - ### Method Detail

    - #### getGraphicsProcessor

          protected org.jfree.layouting.modules.output.graphics.GraphicsOutputProcessor getGraphicsProcessor()

    - #### isError

          public boolean isError()

    - #### getJob

          protected ReportJob getJob()

    - #### close

          public void close()

    - #### processPage

          protected org.jfree.layouting.modules.output.graphics.PageDrawable processPage​(int page)
                                                                                  throws ReportDataFactoryException,
                                                                                         DataSourceException,
                                                                                         ReportProcessingException,
                                                                                         org.jfree.layouting.StateException

      Throws:
        `ReportDataFactoryException`
        `DataSourceException`
        `ReportProcessingException`
        `org.jfree.layouting.StateException`

    - #### getNumberOfPages

          public int getNumberOfPages()

      Returns the number of pages in the set. To enable advanced printing features, it is recommended that `Pageable` implementations return the true number of pages rather than the UNKNOWN_NUMBER_OF_PAGES constant.
      Specified by:
        `getNumberOfPages` in interface `java.awt.print.Pageable`
      Returns:
        the number of pages in this `Pageable`.

    - #### paginate

          public boolean paginate()

    - #### getPageFormat

          public java.awt.print.PageFormat getPageFormat​(int pageIndex)
                                                  throws java.lang.IndexOutOfBoundsException

      Returns the `PageFormat` of the page specified by `pageIndex`.
      Specified by:
        `getPageFormat` in interface `java.awt.print.Pageable`
      Parameters:
        `pageIndex` - the zero based index of the page whose `PageFormat` is being requested
      Returns:
        the `PageFormat` describing the size and orientation.
      Throws:
        `java.lang.IndexOutOfBoundsException` - if the `Pageable` does not contain the requested page.

    - #### getPrintable

          public java.awt.print.Printable getPrintable​(int pageIndex)
                                                throws java.lang.IndexOutOfBoundsException

      Returns the `Printable` instance responsible for rendering the page specified by `pageIndex`.
      Specified by:
        `getPrintable` in interface `java.awt.print.Pageable`
      Parameters:
        `pageIndex` - the zero based index of the page whose `Printable` is being requested
      Returns:
        the `Printable` that renders the page.
      Throws:
        `java.lang.IndexOutOfBoundsException` - if the `Pageable` does not contain the requested page.

    - #### getPageDrawable

          public org.jfree.layouting.modules.output.graphics.PageDrawable getPageDrawable​(int pageIndex)

    - #### processReport

          public final void processReport​(ReportJob job)

      Throws an unsupported operation exception. Printing is controlled by a framework which calls this pageable class for each page. Therefore, printing has to be invoked from outside.
      Specified by:
        `processReport` in interface `ReportProcessor`
      Parameters:
        `job` -
      Throws:
        `java.lang.UnsupportedOperationException`