org.apache.fop.area

## Class AreaTreeModel

- java.lang.Object
- - org.apache.fop.area.AreaTreeModel

Direct Known Subclasses:
  RenderPagesModel

    public class AreaTreeModel
    extends Object

This is the model for the area tree object. The model implementation can handle the page sequence, page and off-document items. The methods to access the page viewports can only assume the PageViewport is valid as it remains for the life of the area tree model.

### Field Summary

Fields
`protected PageSequence` `currentPageSequence` the current page sequence
`protected static org.apache.commons.logging.Log` `log` logger instance

### Constructor Summary

Constructors
Constructor and Description
`AreaTreeModel()` Create a new store pages model

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addPage(PageViewport page)` Add a page to this model.
`void` `endDocument()` Signal the end of the document for any processing.
`PageSequence` `getCurrentPageSequence()` Returns the currently active page-sequence.
`PageViewport` `getPage(int seq, int count)` Get the page for a position in the document.
`int` `getPageCount(int seq)` Get the page count.
`int` `getPageSequenceCount()` Get the page sequence count.
`void` `handleOffDocumentItem(OffDocumentItem ext)` Handle an OffDocumentItem
`void` `setDocumentLocale(Locale locale)`
`void` `startPageSequence(PageSequence pageSequence)` Start a page sequence on this model.

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

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

### Field Detail

#### currentPageSequence

    protected PageSequence currentPageSequence

the current page sequence

#### log

    protected static final org.apache.commons.logging.Log log

logger instance

### Constructor Detail

#### AreaTreeModel

    public AreaTreeModel()

Create a new store pages model

### Method Detail

#### startPageSequence

    public void startPageSequence(PageSequence pageSequence)

Start a page sequence on this model.

Parameters:
  `pageSequence` - the page sequence about to start

#### addPage

    public void addPage(PageViewport page)

Add a page to this model.

Parameters:
  `page` - the page to add to the model.

#### handleOffDocumentItem

    public void handleOffDocumentItem(OffDocumentItem ext)

Handle an OffDocumentItem

Parameters:
  `ext` - the extension to handle

#### endDocument

    public void endDocument()
                     throws SAXException

Signal the end of the document for any processing.

Throws:
  `SAXException` - if a problem was encountered.

#### getCurrentPageSequence

    public PageSequence getCurrentPageSequence()

Returns the currently active page-sequence.

Returns:
  the currently active page-sequence

#### getPageSequenceCount

    public int getPageSequenceCount()

Get the page sequence count.

Returns:
  the number of page sequences in the document.

#### getPageCount

    public int getPageCount(int seq)

Get the page count.

Parameters:
  `seq` - the page sequence to count.
Returns:
  returns the number of pages in a page sequence

#### getPage

    public PageViewport getPage(int seq,
                                int count)

Get the page for a position in the document.

Parameters:
  `seq` - the page sequence number
  `count` - the page count in the sequence
Returns:
  the PageViewport for the particular page

#### setDocumentLocale

    public void setDocumentLocale(Locale locale)

Parameters:
  `locale` - The locale of the document