Class RMTableRPG

All Implemented Interfaces:
Archivable, DeepChangeListener, RMPropertyChanger, RMTypes, PropertyChangeListener, Cloneable, EventListener

public class RMTableRPG extends RMParentShape
Performs RPG for a table.
  • Constructor Details

    • RMTableRPG

      public RMTableRPG(ReportOwner anRptOwner, RMTable aTable)
      Creates a new RMTableRPG for ReportOwner and Table.
  • Method Details

    • rpgAll

      public RMShape rpgAll()
      Do RPG.
      Returns:
      the RMShape or ReportOwner.ShapeList that contains the Table's shapes after generation. Will not be null
    • rpgWithScaling

      protected void rpgWithScaling(RMTable table)
    • rpgTable

      protected org.apache.commons.lang3.tuple.Pair<Integer,String> rpgTable(RMTable aTable)
      Performs RPG. Returns the string of a failed table row or an empty string if successful. Table rows will fail if they cannot be successfully split or there is no available room left on the page or table to squeeze even one details row in. This is usually due to a poorly designed table on the users part, but it is accounted for anyways.
      Parameters:
      aTable - the RMTable object to rpg. Must not be null
      Returns:
      the failed row's title (ex: static_data Header) or "" if successful
    • getGroup

      protected RMGroup getGroup(RMTable aTable)
      Returns the group for a given table.
    • getPageLast

      public RMTableRPG getPageLast()
      Returns the last page.
    • addPage

      protected RMTableRPG addPage()
      Adds a new page.
    • createPage

      protected RMTableRPG createPage()
      Creates a page.
    • addRows

      protected boolean addRows(RMGroup aGroup, RMTableRowRPG aParentRPG, RMTableRowRPG theLastRow)
      Adds table rows for a group.
    • addRowsExtra

      protected boolean addRowsExtra(RMGroup aGroup, RMTableRowRPG aParentRPG, RMTableRowRPG theLastRow)
      A hook to add extra rows or such at bottom of table.
    • moveRowsToBottom

      protected void moveRowsToBottom()
      Scoots any rows that request it to the bottom of the page.
    • makeColumns

      protected RMTableRPG makeColumns()
      This method moves each groups the resulting set of table pages into a parent shape to accommodate aTable's getNumberOfColumns (spaced by its getColumnSpacing). tables for each explicit page break into encompassing shapes that hold numberOfColumns tables (spaced apart by _columnSpacing).
    • getPageBreak

      public int getPageBreak()
      Returns the page break
      Overrides:
      getPageBreak in class RMShape
    • getPageBreakMax

      public int getPageBreakMax()
      Returns the page break max.
      Overrides:
      getPageBreakMax in class RMShape
    • getPageBreakPage

      public int getPageBreakPage()
      Returns the page break page.
      Overrides:
      getPageBreakPage in class RMShape
    • getPageBreakPageMax

      public int getPageBreakPageMax()
      Returns the page break page max.
      Overrides:
      getPageBreakPageMax in class RMShape
    • getColumnCount

      public int getColumnCount()
    • setColumnCount

      public void setColumnCount(int aValue)
    • getColumnSpacing

      public double getColumnSpacing()
    • setColumnSpacing

      public void setColumnSpacing(double aValue)
    • getFilterKey

      public String getFilterKey()
    • setFilterKey

      public void setFilterKey(String aKeyExpr)
    • computePrefHeight

      protected double computePrefHeight(double aWidth)
      Override to return PrefHeight is not paginating.
      Overrides:
      computePrefHeight in class RMParentShape
    • getStrokeOnTop

      public boolean getStrokeOnTop()
      Override to paint table stroke on top.
      Overrides:
      getStrokeOnTop in class RMShape
    • superSelectable

      public boolean superSelectable()
      Override to make selectable.
      Overrides:
      superSelectable in class RMShape