Package org.apache.fop.layoutmgr
Class KnuthPenalty
java.lang.Object
org.apache.fop.layoutmgr.ListElement
org.apache.fop.layoutmgr.KnuthElement
org.apache.fop.layoutmgr.KnuthPenalty
- Direct Known Subclasses:
WhitespaceManagementPenalty
An instance of this class represents information about a feasible
breaking point; it does not represent any piece of content.
A KnuthPenalty is a feasible breaking point unless its value is infinity;
a KnuthPenalty whose value is -infinity represents a forced break.
A KnuthPenalty is suppressed, and its width is ignored, if it is not a
chosen breaking point; for example, a KnuthPenalty representing a
hyphenation point has a width (the "-" width), which must be ignored if
that point is not chosen as a breaking point.
Besides the inherited methods and attributes, this class has two more
attributes and the methods used to get them: the penalty value, which is
a kind of "aesthetic cost" (the higher the value, the more unsightly the
breaking point), and a boolean that marks KnuthPenalties which should not
be chosen as breaking points for consecutive lines.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final KnuthPenaltyDummy, zero-width penaltystatic final intUsed for flagged penalties.Fields inherited from class org.apache.fop.layoutmgr.KnuthElement
INFINITE -
Constructor Summary
ConstructorsConstructorDescriptionKnuthPenalty(int width, int penalty, boolean penaltyFlagged, int breakClass, Position pos, boolean isAuxiliary) Create a new KnuthPenalty.KnuthPenalty(int width, int penalty, boolean penaltyFlagged, Position pos, boolean auxiliary) Create a new KnuthPenalty. -
Method Summary
Modifier and TypeMethodDescriptionintintbooleanbooleanbooleanvoidsetPenalty(int penalty) Sets a new penalty value.toString()protected static StringvalueOf(int penaltyValue) Get the penalty's value as aString.Methods inherited from class org.apache.fop.layoutmgr.KnuthElement
getShrink, getStretch, getWidth, isAuxiliary, isUnresolvedElementMethods inherited from class org.apache.fop.layoutmgr.ListElement
getLayoutManager, getPosition, isBox, isGlue, setPosition
-
Field Details
-
FLAGGED_PENALTY
public static final int FLAGGED_PENALTYUsed for flagged penalties. See Knuth algorithm.- See Also:
-
DUMMY_ZERO_PENALTY
Dummy, zero-width penalty
-
-
Constructor Details
-
KnuthPenalty
public KnuthPenalty(int width, int penalty, boolean penaltyFlagged, Position pos, boolean auxiliary) Create a new KnuthPenalty.- Parameters:
width- the width of this penaltypenalty- the penalty value of this penaltypenaltyFlagged- is this penalty flagged?pos- the Position stored in this penaltyauxiliary- is this penalty auxiliary?
-
KnuthPenalty
public KnuthPenalty(int width, int penalty, boolean penaltyFlagged, int breakClass, Position pos, boolean isAuxiliary) Create a new KnuthPenalty.- Parameters:
width- the width of this penaltypenalty- the penalty value of this penaltypenaltyFlagged- is this penalty flagged?breakClass- the break class of this penalty (one ofConstants.EN_AUTO,Constants.EN_COLUMN,Constants.EN_PAGE,Constants.EN_EVEN_PAGE,Constants.EN_ODD_PAGE).pos- the Position stored in this penaltyisAuxiliary- is this penalty auxiliary?
-
-
Method Details
-
valueOf
Get the penalty's value as aString. (Mainly used intoString()methods, to improve readability of the trace logs.) TODO: shouldn't be penalty a class of its own?- Parameters:
penaltyValue- the penalty value- Returns:
- the penalty value as a
String
-
isPenalty
public boolean isPenalty()- Overrides:
isPenaltyin classListElement- Returns:
- true if this element is a KnuthPenalty.
-
getPenalty
public int getPenalty()- Overrides:
getPenaltyin classKnuthElement- Returns:
- the penalty value of this penalty.
-
setPenalty
public void setPenalty(int penalty) Sets a new penalty value.- Parameters:
penalty- the new penalty value
-
isPenaltyFlagged
public boolean isPenaltyFlagged()- Returns:
- true is this penalty is a flagged one.
-
isForcedBreak
public boolean isForcedBreak()- Overrides:
isForcedBreakin classListElement- Returns:
- true if the element is a penalty and represents a forced break.
-
getBreakClass
public int getBreakClass()- Returns:
- the break class of this penalty (EN_AUTO, EN_COLUMN, EN_PAGE, EN_EVEN_PAGE, EN_ODD_PAGE)
-
toString
-