Class NoBreakPrint

java.lang.Object
net.sf.paperclips.NoBreakPrint
All Implemented Interfaces:
Print

public class NoBreakPrint extends Object implements Print
A print wrapper which prevents its target from being broken into multiple pieces when printed. If there isn't enough room to print the target in one piece on the current page (or column, if it's inside a ColumnPrint), it will be printed on the next page (or column).

Care must be taken when using this class to avoid unprintable documents. If the target of a NoBreakPrint does not fit in the available space on the print device, the entire document will fail to print.

Author:
Matthew Hall
  • Constructor Details

    • NoBreakPrint

      public NoBreakPrint(Print target)
      Constructs a NoBreakPrint with the given target.
      Parameters:
      target - the print to
  • Method Details

    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • getTarget

      public Print getTarget()
      Returns the print which will not be broken across pages.
      Returns:
      the print which will not be broken across pages.
    • iterator

      public PrintIterator iterator(org.eclipse.swt.graphics.Device device, org.eclipse.swt.graphics.GC gc)
      Description copied from interface: Print
      Returns a PrintIterator for laying out the contents of this Print. The iterator uses a snapshot of the print at the time this method is invoked, so subsequent changes to the Print will not affect the output of the iterator.
      Specified by:
      iterator in interface Print
      Parameters:
      device - the graphics device this Print will be drawn onto.
      gc - the graphics context to be used for calculating layout and drawing the Print's contents.
      Returns:
      a PrintIterator for laying out the contents of this Print.