com.lowagie.text

## Class Phrase

- java.lang.Object
- - java.util.AbstractCollection<E>
  - - java.util.AbstractList<E>
    - - java.util.ArrayList
      - - com.lowagie.text.Phrase

All Implemented Interfaces:
  Element, TextElementArray, java.io.Serializable, java.lang.Cloneable, java.lang.Iterable, java.util.Collection, java.util.List, java.util.RandomAccess

Direct Known Subclasses:
  Anchor, Paragraph

    public class Phrase
    extends java.util.ArrayList
    implements TextElementArray

A `Phrase` is a series of `Chunk`s.

A `Phrase` has a main `Font`, but some chunks within the phrase can have a `Font` that differs from the main `Font`. All the `Chunk`s in a `Phrase` have the same `leading`.

Example:

>      // When no parameters are passed, the default leading = 16
>      Phrase phrase0 = new Phrase();
>      Phrase phrase1 = new Phrase("this is a phrase");
>      // In this example the leading is passed as a parameter
>      Phrase phrase2 = new Phrase(16, "this is a phrase with leading 16");
>      // When a Font is passed (explicitly or embedded in a chunk), the default leading = 1.5 * size of the font
>      Phrase phrase3 = new Phrase("this is a phrase with a red, normal font Courier, size 12", FontFactory.getFont(FontFactory.COURIER, 12, Font.NORMAL, new Color(255, 0, 0)));
>      Phrase phrase4 = new Phrase(new Chunk("this is a phrase"));
>      Phrase phrase5 = new Phrase(18, new Chunk("this is a phrase", FontFactory.getFont(FontFactory.HELVETICA, 16, Font.BOLD, new Color(255, 0, 0)));

See Also:
  `Element`, `Chunk`, `Paragraph`, `Anchor`, Serialized Form

### Field Summary

Fields
`protected Font` `font` This is the font of this phrase.
`protected HyphenationEvent` `hyphenation` Null, unless the Phrase has to be hyphenated.
`protected float` `leading` This is the leading of this phrase.
`private static long` `serialVersionUID`

### Fields inherited from class java.util.AbstractList

`modCount`

### Fields inherited from interface com.lowagie.text.Element

`ALIGN_BASELINE, ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_JUSTIFIED, ALIGN_JUSTIFIED_ALL, ALIGN_LEFT, ALIGN_MIDDLE, ALIGN_RIGHT, ALIGN_TOP, ALIGN_UNDEFINED, ANCHOR, ANNOTATION, AUTHOR, CCITT_BLACKIS1, CCITT_ENCODEDBYTEALIGN, CCITT_ENDOFBLOCK, CCITT_ENDOFLINE, CCITTG3_1D, CCITTG3_2D, CCITTG4, CELL, CHAPTER, CHUNK, CREATIONDATE, CREATOR, HEADER, IMGRAW, IMGTEMPLATE, JBIG2, JPEG, JPEG2000, KEYWORDS, LIST, LISTITEM, MARKED, MULTI_COLUMN_TEXT, PARAGRAPH, PHRASE, PRODUCER, PTABLE, RECTANGLE, ROW, SECTION, SUBJECT, TABLE, TITLE, YMARK`

### Constructor Summary

Constructors
`` `Phrase()` Constructs a `Phrase` without specifying a leading.
`private` `Phrase(boolean dummy)` Constructs a Phrase that can be used in the static getInstance() method.
`` `Phrase(Chunk chunk)` Constructs a `Phrase` with a certain `Chunk`.
`` `Phrase(float leading)` Constructs a `Phrase` with a certain leading.
`` `Phrase(float leading, Chunk chunk)` Constructs a `Phrase` with a certain `Chunk` and a certain leading.
`` `Phrase(float leading, java.lang.String string)` Constructs a `Phrase` with a certain leading and a certain `String`.
`` `Phrase(float leading, java.lang.String string, Font font)` Constructs a `Phrase` with a certain leading, a certain `String` and a certain `Font`.
`` `Phrase(Phrase phrase)` Copy constructor for `Phrase`.
`` `Phrase(java.lang.String string)` Constructs a `Phrase` with a certain `String`.
`` `Phrase(java.lang.String string, Font font)` Constructs a `Phrase` with a certain `String` and a certain `Font`.

### Method Summary

Methods
`void` `add(int index, java.lang.Object o)` Adds a `Chunk`, an `Anchor` or another `Phrase` to this `Phrase`.
`boolean` `add(java.lang.Object o)` Adds a `Chunk`, `Anchor` or another `Phrase` to this `Phrase`.
`boolean` `addAll(java.util.Collection collection)` Adds a collection of `Chunk`s to this `Phrase`.
`protected boolean` `addChunk(Chunk chunk)` Adds a Chunk.
`protected void` `addSpecial(java.lang.Object object)` Adds a `Object` to the `Paragraph`.
`java.util.ArrayList` `getChunks()` Gets all the chunks in this element.
`java.lang.String` `getContent()` Returns the content as a String object.
`Font` `getFont()` Gets the font of the first `Chunk` that appears in this `Phrase`.
`HyphenationEvent` `getHyphenation()` Getter for the hyphenation settings.
`static Phrase` `getInstance(int leading, java.lang.String string)` Gets a special kind of Phrase that changes some characters into corresponding symbols.
`static Phrase` `getInstance(int leading, java.lang.String string, Font font)` Gets a special kind of Phrase that changes some characters into corresponding symbols.
`static Phrase` `getInstance(java.lang.String string)` Gets a special kind of Phrase that changes some characters into corresponding symbols.
`float` `getLeading()` Gets the leading of this phrase.
`boolean` `hasLeading()` Checks you if the leading of this phrase is defined.
`boolean` `isContent()` Checks if this element is a content object.
`boolean` `isEmpty()` Checks is this `Phrase` contains no or 1 empty `Chunk`.
`boolean` `isNestable()` Checks if this element is nestable.
`boolean` `process(ElementListener listener)` Processes the element by adding it (or the different parts) to an `ElementListener`.
`void` `setFont(Font font)` Sets the main font of this phrase.
`void` `setHyphenation(HyphenationEvent hyphenation)` Setter for the hyphenation.
`void` `setLeading(float leading)` Sets the leading of this phrase.
`int` `type()` Gets the type of the text element.

### Methods inherited from class java.util.ArrayList

`addAll, clear, clone, contains, ensureCapacity, get, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeRange, retainAll, set, size, subList, toArray, toArray, trimToSize`

### Methods inherited from class java.util.AbstractList

`equals, hashCode`

### Methods inherited from class java.util.AbstractCollection

`containsAll, toString`

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

`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface com.lowagie.text.Element

`toString`

### Methods inherited from interface java.util.List

`containsAll, equals, hashCode`

### Field Detail

#### serialVersionUID

    private static final long serialVersionUID

See Also:
  Constant Field Values

#### leading

    protected float leading

This is the leading of this phrase.

#### font

    protected Font font

This is the font of this phrase.

#### hyphenation

    protected HyphenationEvent hyphenation

Null, unless the Phrase has to be hyphenated.

Since:
  2.1.2

### Constructor Detail

#### Phrase

    public Phrase()

Constructs a `Phrase` without specifying a leading.

#### Phrase

    public Phrase(Phrase phrase)

Copy constructor for `Phrase`.

#### Phrase

    public Phrase(float leading)

Constructs a `Phrase` with a certain leading.

Parameters:
  `leading` - the leading

#### Phrase

    public Phrase(Chunk chunk)

Constructs a `Phrase` with a certain `Chunk`.

Parameters:
  `chunk` - a `Chunk`

#### Phrase

    public Phrase(float leading,
          Chunk chunk)

Constructs a `Phrase` with a certain `Chunk` and a certain leading.

Parameters:
  `leading` - the leading
  `chunk` - a `Chunk`

#### Phrase

    public Phrase(java.lang.String string)

Constructs a `Phrase` with a certain `String`.

Parameters:
  `string` - a `String`

#### Phrase

    public Phrase(java.lang.String string,
          Font font)

Constructs a `Phrase` with a certain `String` and a certain `Font`.

Parameters:
  `string` - a `String`
  `font` - a `Font`

#### Phrase

    public Phrase(float leading,
          java.lang.String string)

Constructs a `Phrase` with a certain leading and a certain `String`.

Parameters:
  `leading` - the leading
  `string` - a `String`

#### Phrase

    public Phrase(float leading,
          java.lang.String string,
          Font font)

Constructs a `Phrase` with a certain leading, a certain `String` and a certain `Font`.

Parameters:
  `leading` - the leading
  `string` - a `String`
  `font` - a `Font`

#### Phrase

    private Phrase(boolean dummy)

Constructs a Phrase that can be used in the static getInstance() method.

Parameters:
  `dummy` - a dummy parameter

### Method Detail

#### process

    public boolean process(ElementListener listener)

Processes the element by adding it (or the different parts) to an `ElementListener`.

Specified by:
  `process` in interface `Element`
Parameters:
  `listener` - an `ElementListener`
Returns:
  `true` if the element was processed successfully

#### type

    public int type()

Gets the type of the text element.

Specified by:
  `type` in interface `Element`
Returns:
  a type

#### getChunks

    public java.util.ArrayList getChunks()

Gets all the chunks in this element.

Specified by:
  `getChunks` in interface `Element`
Returns:
  an `ArrayList`

#### isContent

    public boolean isContent()

Description copied from interface: `Element`
Checks if this element is a content object. If not, it's a metadata object.

Specified by:
  `isContent` in interface `Element`
Returns:
  true if this is a 'content' element; false if this is a 'metadata' element
Since:
  iText 2.0.8
See Also:
  `Element.isContent()`

#### isNestable

    public boolean isNestable()

Description copied from interface: `Element`
Checks if this element is nestable.

Specified by:
  `isNestable` in interface `Element`
Returns:
  true if this element can be nested inside other elements.
Since:
  iText 2.0.8
See Also:
  `Element.isNestable()`

#### add

    public void add(int index,
           java.lang.Object o)

Adds a `Chunk`, an `Anchor` or another `Phrase` to this `Phrase`.

Specified by:
  `add` in interface `java.util.List`
Overrides:
  `add` in class `java.util.ArrayList`
Parameters:
  `index` - index at which the specified element is to be inserted
  `o` - an object of type `Chunk`, `Anchor` or `Phrase`
Throws:
  `java.lang.ClassCastException` - when you try to add something that isn't a `Chunk`, `Anchor` or `Phrase`

#### add

    public boolean add(java.lang.Object o)

Adds a `Chunk`, `Anchor` or another `Phrase` to this `Phrase`.

Specified by:
  `add` in interface `TextElementArray`
Specified by:
  `add` in interface `java.util.Collection`
Specified by:
  `add` in interface `java.util.List`
Overrides:
  `add` in class `java.util.ArrayList`
Parameters:
  `o` - an object of type `Chunk`, `Anchor` or `Phrase`
Returns:
  a boolean
Throws:
  `java.lang.ClassCastException` - when you try to add something that isn't a `Chunk`, `Anchor` or `Phrase`

#### addAll

    public boolean addAll(java.util.Collection collection)

Adds a collection of `Chunk`s to this `Phrase`.

Specified by:
  `addAll` in interface `java.util.Collection`
Specified by:
  `addAll` in interface `java.util.List`
Overrides:
  `addAll` in class `java.util.ArrayList`
Parameters:
  `collection` - a collection of `Chunk`s, `Anchor`s and `Phrase`s.
Returns:
  `true` if the action succeeded, `false` if not.
Throws:
  `java.lang.ClassCastException` - when you try to add something that isn't a `Chunk`, `Anchor` or `Phrase`

#### addChunk

    protected boolean addChunk(Chunk chunk)

Adds a Chunk.

This method is a hack to solve a problem I had with phrases that were split between chunks in the wrong place.

Parameters:
  `chunk` - a Chunk to add to the Phrase
Returns:
  true if adding the Chunk succeeded

#### addSpecial

    protected void addSpecial(java.lang.Object object)

Adds a `Object` to the `Paragraph`.

Parameters:
  `object` - the object to add.

#### setLeading

    public void setLeading(float leading)

Sets the leading of this phrase.

Parameters:
  `leading` - the new leading

#### setFont

    public void setFont(Font font)

Sets the main font of this phrase.

Parameters:
  `font` - the new font

#### getLeading

    public float getLeading()

Gets the leading of this phrase.

Returns:
  the linespacing

#### hasLeading

    public boolean hasLeading()

Checks you if the leading of this phrase is defined.

Returns:
  true if the leading is defined

#### getFont

    public Font getFont()

Gets the font of the first `Chunk` that appears in this `Phrase`.

Returns:
  a `Font`

#### getContent

    public java.lang.String getContent()

Returns the content as a String object. This method differs from toString because toString will return an ArrayList with the toString value of the Chunks in this Phrase.

#### isEmpty

    public boolean isEmpty()

Checks is this `Phrase` contains no or 1 empty `Chunk`.

Specified by:
  `isEmpty` in interface `java.util.Collection`
Specified by:
  `isEmpty` in interface `java.util.List`
Overrides:
  `isEmpty` in class `java.util.ArrayList`
Returns:
  `false` if the `Phrase` contains more than one or more non-empty`Chunk`s.

#### getHyphenation

    public HyphenationEvent getHyphenation()

Getter for the hyphenation settings.

Returns:
  a HyphenationEvent
Since:
  2.1.2

#### setHyphenation

    public void setHyphenation(HyphenationEvent hyphenation)

Setter for the hyphenation.

Parameters:
  `hyphenation` - a HyphenationEvent instance
Since:
  2.1.2

#### getInstance

    public static final Phrase getInstance(java.lang.String string)

Gets a special kind of Phrase that changes some characters into corresponding symbols.

Parameters:
  `string` -
Returns:
  a newly constructed Phrase

#### getInstance

    public static final Phrase getInstance(int leading,
                     java.lang.String string)

Gets a special kind of Phrase that changes some characters into corresponding symbols.

Parameters:
  `leading` -
  `string` -
Returns:
  a newly constructed Phrase

#### getInstance

    public static final Phrase getInstance(int leading,
                     java.lang.String string,
                     Font font)

Gets a special kind of Phrase that changes some characters into corresponding symbols.

Parameters:
  `leading` -
  `string` -
  `font` -
Returns:
  a newly constructed Phrase