Class BreakingAlgorithm.BestRecords

java.lang.Object
org.apache.fop.layoutmgr.BreakingAlgorithm.BestRecords
Enclosing class:
BreakingAlgorithm

protected class BreakingAlgorithm.BestRecords extends Object
Class that stores, for each fitness class, the best active node that could start a line of the corresponding fitness ending at the current element.
  • Constructor Details

    • BestRecords

      public BestRecords()
      default constructor
  • Method Details

    • addRecord

      public void addRecord(double demerits, BreakingAlgorithm.KnuthNode node, double adjust, int availableShrink, int availableStretch, int difference, int fitness)
      Registers the new best active node for the given fitness class.
      Parameters:
      demerits - the total demerits of the new optimal set of breakpoints
      node - the node starting the line ending at the current element
      adjust - adjustment ratio of the current line
      availableShrink - how much the current line can be shrinked
      availableStretch - how much the current line can be stretched
      difference - difference between the width of the considered line and the width of the "real" line
      fitness - fitness class of the current line
    • hasRecords

      public boolean hasRecords()
      Returns:
      true if has records (best index not -1)
    • notInfiniteDemerits

      public boolean notInfiniteDemerits(int fitness)
      Parameters:
      fitness - fitness class (0, 1, 2 or 3, i.e. "tight" to "very loose")
      Returns:
      true if there is a set of feasible breakpoints registered for the given fitness.
    • getDemerits

      public double getDemerits(int fitness)
      Parameters:
      fitness - to use
      Returns:
      best demerits
    • getNode

      public BreakingAlgorithm.KnuthNode getNode(int fitness)
      Parameters:
      fitness - to use
      Returns:
      best node
    • getAdjust

      public double getAdjust(int fitness)
      Parameters:
      fitness - to use
      Returns:
      adjustment
    • getAvailableShrink

      public int getAvailableShrink(int fitness)
      Parameters:
      fitness - to use
      Returns:
      available shrink
    • getAvailableStretch

      public int getAvailableStretch(int fitness)
      Parameters:
      fitness - to use
      Returns:
      available stretch
    • getDifference

      public int getDifference(int fitness)
      Parameters:
      fitness - to use
      Returns:
      difference
    • getMinDemerits

      public double getMinDemerits()
      Returns:
      minimum demerits
    • reset

      public void reset()
      Reset when a new breakpoint is being considered.