org.apache.fop.layoutmgr

Class BreakingAlgorithm.BestRecords

Enclosing Class:
BreakingAlgorithm
Known Direct Subclasses:
PageBreakingAlgorithm.BestPageRecords

protected class BreakingAlgorithm.BestRecords
extends java.lang.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

BestRecords()

Method Summary

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.

Constructor Details

BestRecords

public BestRecords()

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

getAdjust

public double getAdjust(int fitness)

getAvailableShrink

public int getAvailableShrink(int fitness)

getAvailableStretch

public int getAvailableStretch(int fitness)

getDemerits

public double getDemerits(int fitness)

getDifference

public int getDifference(int fitness)

getMinDemerits

public double getMinDemerits()

getNode

public BreakingAlgorithm.KnuthNode getNode(int fitness)

hasRecords

public boolean hasRecords()

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.

reset

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

Copyright 1999-2008 The Apache Software Foundation. All Rights Reserved.