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
public class KnuthPenalty extends KnuthElement
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
Fields Modifier and Type Field Description static KnuthPenalty
DUMMY_ZERO_PENALTY
Dummy, zero-width penaltystatic int
FLAGGED_PENALTY
Used for flagged penalties.-
Fields inherited from class org.apache.fop.layoutmgr.KnuthElement
INFINITE
-
-
Constructor Summary
Constructors Constructor Description KnuthPenalty(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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getBreakClass()
int
getPenalty()
boolean
isForcedBreak()
boolean
isPenalty()
boolean
isPenaltyFlagged()
void
setPenalty(int penalty)
Sets a new penalty value.java.lang.String
toString()
protected static java.lang.String
valueOf(int penaltyValue)
Get the penalty's value as aString
.-
Methods inherited from class org.apache.fop.layoutmgr.KnuthElement
getShrink, getStretch, getWidth, isAuxiliary, isUnresolvedElement
-
Methods inherited from class org.apache.fop.layoutmgr.ListElement
getLayoutManager, getPosition, isBox, isGlue, setPosition
-
-
-
-
Field Detail
-
FLAGGED_PENALTY
public static final int FLAGGED_PENALTY
Used for flagged penalties. See Knuth algorithm.- See Also:
- Constant Field Values
-
DUMMY_ZERO_PENALTY
public static final KnuthPenalty DUMMY_ZERO_PENALTY
Dummy, zero-width penalty
-
-
Constructor Detail
-
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 Detail
-
valueOf
protected static java.lang.String valueOf(int penaltyValue)
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:
isPenalty
in classListElement
- Returns:
- true if this element is a KnuthPenalty.
-
getPenalty
public int getPenalty()
- Overrides:
getPenalty
in 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:
isForcedBreak
in 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
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-