fop 1.1

## org.apache.fop.layoutmgr
Class KnuthPenalty

    java.lang.Object
      org.apache.fop.layoutmgr.ListElement
          org.apache.fop.layoutmgr.KnuthElement
              org.apache.fop.layoutmgr.KnuthPenalty

    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
`static KnuthPenalty` `DUMMY_ZERO_PENALTY` Dummy, zero-width penalty
`static int` `FLAGGED_PENALTY` Used for flagged penalties.

Fields inherited from class org.apache.fop.layoutmgr.KnuthElement
`INFINITE`

Constructor Summary
`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
`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 a `String`.

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`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

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 penalty
    `penalty` - the penalty value of this penalty
    `penaltyFlagged` - is this penalty flagged?
    `pos` - the Position stored in this penalty
    `auxiliary` - 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 penalty
    `penalty` - the penalty value of this penalty
    `penaltyFlagged` - is this penalty flagged?
    `breakClass` - the break class of this penalty (one of `Constants.EN_AUTO`, `Constants.EN_COLUMN`, `Constants.EN_PAGE`, `Constants.EN_EVEN_PAGE`, `Constants.EN_ODD_PAGE`).
    `pos` - the Position stored in this penalty
    `isAuxiliary` - is this penalty auxiliary?

Method Detail

### valueOf

    protected static java.lang.String valueOf(int penaltyValue)

  Get the penalty's value as a `String`. (Mainly used in `toString()` 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 class `ListElement`
  Returns:
    true if this element is a KnuthPenalty.

### getPenalty

    public int getPenalty()

  Overrides:
    `getPenalty` in class `KnuthElement`
  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 class `ListElement`
  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 class `java.lang.Object`

fop 1.1

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