org.apache.fop.text.linebreak

## Class LineBreakStatus

- java.lang.Object
- - org.apache.fop.text.linebreak.LineBreakStatus

    public class LineBreakStatus
    extends Object

This class is meant for supporting the Unicode line breaking algorithm. See: UTR 14

### Field Summary

Fields
`static byte` `COMBINING_INDIRECT_BREAK` Constant indicating a Combining Indirect Break
`static byte` `COMBINING_PROHIBITED_BREAK` Constant indicating a Combining Prohibited Break
`static byte` `DIRECT_BREAK` Constant indicating a Direct Break
`static byte` `EXPLICIT_BREAK` Constant indicating a Explicit Break
`static byte` `INDIRECT_BREAK` Constant indicating an Indirect Break
`static byte` `PROHIBITED_BREAK` Constant indicating a Prohibited Break

### Constructor Summary

Constructors
Constructor and Description
`LineBreakStatus()` Resets the class to the same state as if new LineBreakStatus() had just been called.

### Method Summary

All Methods Instance Methods Concrete Methods
`byte` `nextChar(char c)` Check whether a line break may happen according to the rules described in the Unicode Line Breaking Algorithm.
`void` `reset()` Reset the status.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### DIRECT_BREAK

    public static final byte DIRECT_BREAK

Constant indicating a Direct Break

See Also:
  Constant Field Values

#### INDIRECT_BREAK

    public static final byte INDIRECT_BREAK

Constant indicating an Indirect Break

See Also:
  Constant Field Values

#### COMBINING_INDIRECT_BREAK

    public static final byte COMBINING_INDIRECT_BREAK

Constant indicating a Combining Indirect Break

See Also:
  Constant Field Values

#### COMBINING_PROHIBITED_BREAK

    public static final byte COMBINING_PROHIBITED_BREAK

Constant indicating a Combining Prohibited Break

See Also:
  Constant Field Values

#### PROHIBITED_BREAK

    public static final byte PROHIBITED_BREAK

Constant indicating a Prohibited Break

See Also:
  Constant Field Values

#### EXPLICIT_BREAK

    public static final byte EXPLICIT_BREAK

Constant indicating a Explicit Break

See Also:
  Constant Field Values

### Constructor Detail

#### LineBreakStatus

    public LineBreakStatus()

Resets the class to the same state as if new LineBreakStatus() had just been called.

### Method Detail

#### reset

    public void reset()

Reset the status. This method will reset the status to the initial state. It is meant for recycling objects.

#### nextChar

    public byte nextChar(char c)

Check whether a line break may happen according to the rules described in the Unicode Line Breaking Algorithm. The function returns the line breaking status of the point before the given character. The algorithm is the table-driven algorithm, as described in Unicode Technical Report #14. The pair table is taken from `LineBreakUtils`. TODO: Better handling for AI, SA, SG and XX line break classes.

Parameters:
  `c` - the character to check
Returns:
  the break action to be taken one of: `DIRECT_BREAK`, `INDIRECT_BREAK`, `COMBINING_INDIRECT_BREAK`, `COMBINING_PROHIBITED_BREAK`, `PROHIBITED_BREAK`, `EXPLICIT_BREAK`