java.lang.Object
org.apache.xmlgraphics.image.loader.util.Penalty

public final class Penalty extends Object
Immutable class representing a penalty value. It's valid value range is that of an Integer, but giving Integer.MAX_VALUE a special meaning: it means infinite penalty, i.e. a candidate with this penalty will be excluded from any choice.
  • Field Details

    • ZERO_PENALTY

      public static final Penalty ZERO_PENALTY
    • INFINITE_PENALTY

      public static final Penalty INFINITE_PENALTY
  • Method Details

    • toPenalty

      public static Penalty toPenalty(int value)
      Turns a penalty value into a penaly object.
      Parameters:
      value - the penalty value
      Returns:
      the penalty object
    • add

      public Penalty add(Penalty value)
      Adds a penalty to this one and returns the combined penalty.
      Parameters:
      value - the penalty value to add
      Returns:
      the resulting penalty
    • add

      public Penalty add(int value)
      Adds a penalty to this one and returns the combined penalty.
      Parameters:
      value - the penalty value to add
      Returns:
      the resulting penalty
    • getValue

      public int getValue()
      Returns the penalty value.
      Returns:
      the penalty value
    • isInfinitePenalty

      public boolean isInfinitePenalty()
      Indicates whether this is an infinite penalty, meaning that a solution with this penalty is effectively ineligible.
      Returns:
      true if this is an infinite penalty
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • truncate

      public static int truncate(long penalty)
      Truncates the long penalty value to an integer without sign side-effects.
      Parameters:
      penalty - the penalty value as a long
      Returns:
      the penalty value as an int