org.jfree.report.layout
Class BandLayoutManagerUtil

java.lang.Object
  extended byorg.jfree.report.layout.BandLayoutManagerUtil

public final class BandLayoutManagerUtil
extends java.lang.Object

A collection of utility methods for use by classes that implement the BandLayoutManager interface.

Author:
Thomas Morgner

Method Summary
static java.awt.geom.Rectangle2D doFixedLayout(Band band, LayoutSupport support, float width, float height)
          Performs all required steps to layout the band; the bands bounds are predefined by the caller and will not be computed.
static java.awt.geom.Rectangle2D doLayout(Band band, LayoutSupport support, float width, float height)
          Performs all required steps to layout the band.
static java.awt.geom.Rectangle2D getBounds(Element e, java.awt.geom.Rectangle2D bounds)
          Returns the bounds of an element.
static BandLayoutManager getLayoutManager(Element e)
          Returns the layout manager for an element in a report.
static void setBounds(Element e, java.awt.geom.Rectangle2D bounds)
          Sets the bounds for an element.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getLayoutManager

public static BandLayoutManager getLayoutManager(Element e)
Returns the layout manager for an element in a report.

Parameters:
e - the element.
Returns:
the layout manager.

getBounds

public static java.awt.geom.Rectangle2D getBounds(Element e,
                                                  java.awt.geom.Rectangle2D bounds)
Returns the bounds of an element.

Parameters:
e - the element.
bounds - if non-null, this structure will be updated and returned as the result (use this to avoid creating unnecessary work for the garbage collector).
Returns:
the element bounds.
Throws:
java.lang.NullPointerException - if the given element is null

setBounds

public static void setBounds(Element e,
                             java.awt.geom.Rectangle2D bounds)
Sets the bounds for an element.

Parameters:
e - the element.
bounds - the new bounds.
Throws:
java.lang.NullPointerException - if the given element or the bounds are null

doLayout

public static java.awt.geom.Rectangle2D doLayout(Band band,
                                                 LayoutSupport support,
                                                 float width,
                                                 float height)
Performs all required steps to layout the band. The bands height gets initially limited by the specified width and height. The band updates these dimensions after the initial layouting is done. The band will never exceed the specified bounds, they define a hard limit.

The bands elements get their BOUNDS property updated to reflect the new layout settings.

Parameters:
band - the band that should be laid out.
support - the LayoutSupport implementation used to calculate the bounds of dynamic content.
width - the initial maximum width of the container.
height - the initial maximum height of the container.
Returns:
the bounds for the layouted band. The band itself got updated to contain the new element bounds.

doFixedLayout

public static java.awt.geom.Rectangle2D doFixedLayout(Band band,
                                                      LayoutSupport support,
                                                      float width,
                                                      float height)
Performs all required steps to layout the band; the bands bounds are predefined by the caller and will not be computed. The band will never exceed the specified bounds, they define a hard limit.

The bands elements get their BOUNDS property updated to reflect the new layout settings.

Parameters:
band - the band that should be laid out.
support - the LayoutSupport implementation used to calculate the bounds of dynamic content.
width - the initial maximum width of the container.
height - the initial maximum height of the container.
Returns:
the bounds for the layouted band. The band itself got updated to contain the new element bounds.