org.apache.fop.layoutmgr

## 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 Summary

    Constructors
    Constructor and Description
    `BestRecords()` default constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.
    `double` | `getAdjust(int fitness)`
    `int` | `getAvailableShrink(int fitness)`
    `int` | `getAvailableStretch(int fitness)`
    `double` | `getDemerits(int fitness)`
    `int` | `getDifference(int fitness)`
    `double` | `getMinDemerits()`
    `BreakingAlgorithm.KnuthNode` | `getNode(int fitness)`
    `boolean` | `hasRecords()`
    `boolean` | `notInfiniteDemerits(int fitness)`
    `void` | `reset()` Reset when a new breakpoint is being considered.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### BestRecords

          public BestRecords()

      default constructor

  - ### Method Detail

    - #### 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.

Copyright © 2023 Apache Software Foundation. All rights reserved.