java.awt.print
Class Book

java.lang.Object
  extended byjava.awt.print.Book
All Implemented Interfaces:
Pageable

public class Book
extends Object
implements Pageable

The Book class provides a representation of a document in which pages may have different page formats and page painters. This class uses the Pageable interface to interact with a PrinterJob.

See Also:
Pageable, PrinterJob

Nested Class Summary
private  class Book.BookPage
          The BookPage inner class describes an individual page in a Book through a PageFormat-Printable pair.
 
Field Summary
private  Vector mPages
          The set of pages that make up the Book.
 
Fields inherited from interface java.awt.print.Pageable
UNKNOWN_NUMBER_OF_PAGES
 
Constructor Summary
Book()
          Creates a new, empty Book.
 
Method Summary
 void append(Printable painter, PageFormat page)
          Appends a single page to the end of this Book.
 void append(Printable painter, PageFormat page, int numPages)
          Appends numPages pages to the end of this Book.
 int getNumberOfPages()
          Returns the number of pages in this Book.
private  Book.BookPage getPage(int pageIndex)
          Return the BookPage for the page specified by 'pageIndex'.
 PageFormat getPageFormat(int pageIndex)
          Returns the PageFormat of the page specified by pageIndex.
 Printable getPrintable(int pageIndex)
          Returns the Printable instance responsible for rendering the page specified by pageIndex.
 void setPage(int pageIndex, Printable painter, PageFormat page)
          Sets the PageFormat and the Painter for a specified page number.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mPages

private Vector mPages
The set of pages that make up the Book.

Constructor Detail

Book

public Book()
Creates a new, empty Book.

Method Detail

getNumberOfPages

public int getNumberOfPages()
Returns the number of pages in this Book.

Specified by:
getNumberOfPages in interface Pageable
Returns:
the number of pages this Book contains.

getPageFormat

public PageFormat getPageFormat(int pageIndex)
                         throws IndexOutOfBoundsException
Returns the PageFormat of the page specified by pageIndex.

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

getPrintable

public Printable getPrintable(int pageIndex)
                       throws IndexOutOfBoundsException
Returns the Printable instance responsible for rendering the page specified by pageIndex.

Specified by:
getPrintable in interface Pageable
Parameters:
pageIndex - the zero based index of the page whose Printable is being requested
Returns:
the Printable that renders the page.
Throws:
IndexOutOfBoundsException - if the Pageable does not contain the requested page

setPage

public void setPage(int pageIndex,
                    Printable painter,
                    PageFormat page)
             throws IndexOutOfBoundsException
Sets the PageFormat and the Painter for a specified page number.

Parameters:
pageIndex - the zero based index of the page whose painter and format is altered
painter - the Printable instance that renders the page
page - the size and orientation of the page
Throws:
IndexOutOfBoundsException - if the specified page is not already in this Book
NullPointerException - if the painter or page argument is null

append

public void append(Printable painter,
                   PageFormat page)
Appends a single page to the end of this Book.

Parameters:
painter - the Printable instance that renders the page
page - the size and orientation of the page
Throws:
NullPointerException - If the painter or page argument is null

append

public void append(Printable painter,
                   PageFormat page,
                   int numPages)
Appends numPages pages to the end of this Book. Each of the pages is associated with page.

Parameters:
painter - the Printable instance that renders the page
page - the size and orientation of the page
numPages - the number of pages to be added to the this Book.
Throws:
NullPointerException - If the painter or page argument is null

getPage

private Book.BookPage getPage(int pageIndex)
                       throws ArrayIndexOutOfBoundsException
Return the BookPage for the page specified by 'pageIndex'.

Throws:
ArrayIndexOutOfBoundsException