### org.jfree.layouting.output

# Interface OutputProcessor

Known Subinterfaces:
  HtmlOutputProcessor, PageableOutputProcessor

Known Implementing Classes:
  AbstractOutputProcessor, AbstractPageableProcessor, ChainingOutputProcessor, ExcelOutputProcessor, FlowGraphicsOutputProcessor, FlowHtmlOutputProcessor, GraphicsOutputProcessor, PageableHtmlOutputProcessor, PdfOutputProcessor, StreamingHtmlOutputProcessor, StreamingPlaintextOutputProcessor

`public interface OutputProcessor`

The output processor defines, which processing-step implementation will be used during the layout process. Obviously, what computations are required depends heavily on the desired result.

Author:
  Thomas Morgner

  ## Method Summary

  `InputFeed`

  `createInputFeed(LayoutProcess layoutProcess)`

  `ModelBuilder`

  `createModelBuilder(LayoutProcess layoutProcess)`
    The model builder normalizes the input and builds the Display-Model.

  `Normalizer`

  `createNormalizer(LayoutProcess layoutProcess)`
    Returns the content normalizer implementation for this OP.

  `Renderer`

  `createRenderer(LayoutProcess layoutProcess)`

  `Configuration`

  `getConfiguration()`

  `LogicalPageKey`

  `getLogicalPage(int page)`

  `int`

  `getLogicalPageCount()`

  `OutputProcessorMetaData`

  `getMetaData()`

  `int`

  `getPageCursor()`

  `boolean`

  `isContentGeneratable()`
    This flag indicates, whether the output processor has collected enough information to start the content generation.

  `boolean`

  `isGlobalStateComputed()`
    This flag indicates, whether the global content has been computed.

  `boolean`

  `isPaginationFinished()`
    Checks, whether the 'processingFinished' event had been received at least once.

  `void`

  `processContent(LogicalPageBox logicalPage)`

  `void`

  `processDocumentMetaData(DocumentContext documentContext)`

  `void`

  `processingFinished()`
    Notifies the output processor, that the processing has been finished and that the input-feed received the last event.

  `void`

  `setPageCursor(int cursor)`

## Method Details

### createInputFeed

    public InputFeed createInputFeed(LayoutProcess layoutProcess)

### createModelBuilder

    public ModelBuilder createModelBuilder(LayoutProcess layoutProcess)

> The model builder normalizes the input and builds the Display-Model. The DisplayModel enriches and normalizes the logical document model so that it is better suited for rendering.
> Parameters:
>   `layoutProcess` - the layout process that governs all.
> Returns:
>   the created model builder.

### createNormalizer

    public Normalizer createNormalizer(LayoutProcess layoutProcess)

> Returns the content normalizer implementation for this OP. The content normalizer is responsible for resolving the styles and for initiating the display model building.
> Parameters:
>   `layoutProcess` - the layout process that governs all.
> Returns:
>   the created content normalizer.

### createRenderer

    public Renderer createRenderer(LayoutProcess layoutProcess)

### getConfiguration

    public Configuration getConfiguration()

### getLogicalPage

    public LogicalPageKey getLogicalPage(int page)

### getLogicalPageCount

    public int getLogicalPageCount()

### getMetaData

    public OutputProcessorMetaData getMetaData()

### getPageCursor

    public int getPageCursor()

### isContentGeneratable

    public boolean isContentGeneratable()

> This flag indicates, whether the output processor has collected enough information to start the content generation.
> Returns:

### isGlobalStateComputed

    public boolean isGlobalStateComputed()

> This flag indicates, whether the global content has been computed. Global content consists of global counters (except the pages counter) and derived information like table of contents, the global directory of images or tables etc. The global state must be computed before paginating can be attempted (if the output target is paginating at all).
> Returns:
>   true, if the global state has been computed, false otherwise.

### isPaginationFinished

    public boolean isPaginationFinished()

> Checks, whether the 'processingFinished' event had been received at least once.
> Returns:

### processContent

    public void processContent(LogicalPageBox logicalPage)

### processDocumentMetaData

    public void processDocumentMetaData(DocumentContext documentContext)

### processingFinished

    public void processingFinished()

> Notifies the output processor, that the processing has been finished and that the input-feed received the last event.

### setPageCursor

    public void setPageCursor(int cursor)