com.lowagie.text

## Class Paragraph

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

- 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:
    ListItem

      public class Paragraph
      extends Phrase

  A `Paragraph` is a series of `Chunk`s and/or `Phrases`.

  A `Paragraph` has the same qualities of a `Phrase`, but also some additional layout-parameters:

  - the indentation
  - the alignment of the text
  Example:

  >      Paragraph p = new Paragraph("This is a paragraph",
  >                    FontFactory.getFont(FontFactory.HELVETICA, 18, Font.BOLDITALIC, new Color(0, 0, 255)));

  See Also:
    `Element`, `Phrase`, `ListItem`, Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected int` | `alignment` The alignment of the text.
    `private float` | `extraParagraphSpace` Holds value of property extraParagraphSpace.
    `private float` | `firstLineIndent` Holds value of property firstLineIndent.
    `protected float` | `indentationLeft` The indentation of this paragraph on the left side.
    `protected float` | `indentationRight` The indentation of this paragraph on the right side.
    `protected boolean` | `keeptogether` Does the paragraph has to be kept together on 1 page.
    `protected float` | `multipliedLeading` The text leading that is multiplied by the biggest font size in the line.
    `private static long` | `serialVersionUID`
    `protected float` | `spacingAfter` The spacing after the paragraph.
    `protected float` | `spacingBefore` The spacing before the paragraph.

    - ### Fields inherited from class com.lowagie.text.Phrase

      `font, hyphenation, leading`

    - ### 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
    Constructor and Description
    `Paragraph()` Constructs a `Paragraph`.
    `Paragraph(Chunk chunk)` Constructs a `Paragraph` with a certain `Chunk`.
    `Paragraph(float leading)` Constructs a `Paragraph` with a certain leading.
    `Paragraph(float leading, Chunk chunk)` Constructs a `Paragraph` with a certain `Chunk` and a certain leading.
    `Paragraph(float leading, java.lang.String string)` Constructs a `Paragraph` with a certain `String` and a certain leading.
    `Paragraph(float leading, java.lang.String string, Font font)` Constructs a `Paragraph` with a certain leading, `String` and `Font`.
    `Paragraph(Phrase phrase)` Constructs a `Paragraph` with a certain `Phrase`.
    `Paragraph(java.lang.String string)` Constructs a `Paragraph` with a certain `String`.
    `Paragraph(java.lang.String string, Font font)` Constructs a `Paragraph` with a certain `String` and a certain `Font`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `add(java.lang.Object o)` Adds an `Object` to the `Paragraph`.
    `int` | `getAlignment()` Gets the alignment of this paragraph.
    `float` | `getExtraParagraphSpace()` Getter for property extraParagraphSpace.
    `float` | `getFirstLineIndent()` Getter for property firstLineIndent.
    `float` | `getIndentationLeft()` Gets the indentation of this paragraph on the left side.
    `float` | `getIndentationRight()` Gets the indentation of this paragraph on the right side.
    `boolean` | `getKeepTogether()` Checks if this paragraph has to be kept together on one page.
    `float` | `getMultipliedLeading()` Gets the variable leading
    `float` | `getSpacingAfter()` Gets the spacing after this paragraph.
    `float` | `getSpacingBefore()` Gets the spacing before this paragraph.
    `float` | `getTotalLeading()` Gets the total leading.
    `void` | `setAlignment(int alignment)` Sets the alignment of this paragraph.
    `void` | `setAlignment(java.lang.String alignment)` Sets the alignment of this paragraph.
    `void` | `setExtraParagraphSpace(float extraParagraphSpace)` Setter for property extraParagraphSpace.
    `void` | `setFirstLineIndent(float firstLineIndent)` Setter for property firstLineIndent.
    `void` | `setIndentationLeft(float indentation)` Sets the indentation of this paragraph on the left side.
    `void` | `setIndentationRight(float indentation)` Sets the indentation of this paragraph on the right side.
    `void` | `setKeepTogether(boolean keeptogether)` Indicates that the paragraph has to be kept together on one page.
    `void` | `setLeading(float fixedLeading)` Sets the leading of this phrase.
    `void` | `setLeading(float fixedLeading, float multipliedLeading)` Sets the leading fixed and variable.
    `void` | `setMultipliedLeading(float multipliedLeading)` Sets the variable leading.
    `void` | `setSpacingAfter(float spacing)` Sets the spacing after this paragraph.
    `void` | `setSpacingBefore(float spacing)` Sets the spacing before this paragraph.
    `float` | `spacingAfter()` Deprecated. As of iText 2.1.5, replaced by `getSpacingAfter()`, scheduled for removal at 2.3.0
    `float` | `spacingBefore()` Deprecated. As of iText 2.1.5, replaced by `getSpacingBefore()`, scheduled for removal at 2.3.0
    `int` | `type()` Gets the type of the text element.

    - ### Methods inherited from class com.lowagie.text.Phrase

      `add, addAll, addChunk, addSpecial, getChunks, getContent, getFont, getHyphenation, getInstance, getInstance, getInstance, getLeading, hasLeading, isContent, isEmpty, isNestable, process, setFont, setHyphenation`

    - ### 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

    - #### alignment

          protected int alignment

      The alignment of the text.

    - #### multipliedLeading

          protected float multipliedLeading

      The text leading that is multiplied by the biggest font size in the line.

    - #### indentationLeft

          protected float indentationLeft

      The indentation of this paragraph on the left side.

    - #### indentationRight

          protected float indentationRight

      The indentation of this paragraph on the right side.

    - #### firstLineIndent

          private float firstLineIndent

      Holds value of property firstLineIndent.

    - #### spacingBefore

          protected float spacingBefore

      The spacing before the paragraph.

    - #### spacingAfter

          protected float spacingAfter

      The spacing after the paragraph.

    - #### extraParagraphSpace

          private float extraParagraphSpace

      Holds value of property extraParagraphSpace.

    - #### keeptogether

          protected boolean keeptogether

      Does the paragraph has to be kept together on 1 page.

  - ### Constructor Detail

    - #### Paragraph

          public Paragraph()

      Constructs a `Paragraph`.

    - #### Paragraph

          public Paragraph(float leading)

      Constructs a `Paragraph` with a certain leading.
      Parameters:
        `leading` - the leading

    - #### Paragraph

          public Paragraph(Chunk chunk)

      Constructs a `Paragraph` with a certain `Chunk`.
      Parameters:
        `chunk` - a `Chunk`

    - #### Paragraph

          public Paragraph(float leading,
                   Chunk chunk)

      Constructs a `Paragraph` with a certain `Chunk` and a certain leading.
      Parameters:
        `leading` - the leading
        `chunk` - a `Chunk`

    - #### Paragraph

          public Paragraph(java.lang.String string)

      Constructs a `Paragraph` with a certain `String`.
      Parameters:
        `string` - a `String`

    - #### Paragraph

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

      Constructs a `Paragraph` with a certain `String` and a certain `Font`.
      Parameters:
        `string` - a `String`
        `font` - a `Font`

    - #### Paragraph

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

      Constructs a `Paragraph` with a certain `String` and a certain leading.
      Parameters:
        `leading` - the leading
        `string` - a `String`

    - #### Paragraph

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

      Constructs a `Paragraph` with a certain leading, `String` and `Font`.
      Parameters:
        `leading` - the leading
        `string` - a `String`
        `font` - a `Font`

    - #### Paragraph

          public Paragraph(Phrase phrase)

      Constructs a `Paragraph` with a certain `Phrase`.
      Parameters:
        `phrase` - a `Phrase`

  - ### Method Detail

    - #### type

          public int type()

      Gets the type of the text element.
      Specified by:
        `type` in interface `Element`
      Overrides:
        `type` in class `Phrase`
      Returns:
        a type

    - #### add

          public boolean add(java.lang.Object o)

      Adds an `Object` to the `Paragraph`.
      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 `Phrase`
      Parameters:
        `o` - object the object to add.
      Returns:
        true is adding the object succeeded

    - #### setAlignment

          public void setAlignment(int alignment)

      Sets the alignment of this paragraph.
      Parameters:
        `alignment` - the new alignment

    - #### setAlignment

          public void setAlignment(java.lang.String alignment)

      Sets the alignment of this paragraph.
      Parameters:
        `alignment` - the new alignment as a `String`

    - #### setLeading

          public void setLeading(float fixedLeading)

      Description copied from class: `Phrase`
      Sets the leading of this phrase.
      Overrides:
        `setLeading` in class `Phrase`
      Parameters:
        `fixedLeading` - the new leading
      See Also:
        `Phrase.setLeading(float)`

    - #### setMultipliedLeading

          public void setMultipliedLeading(float multipliedLeading)

      Sets the variable leading. The resultant leading will be multipliedLeading*maxFontSize where maxFontSize is the size of the biggest font in the line.
      Parameters:
        `multipliedLeading` - the variable leading

    - #### setLeading

          public void setLeading(float fixedLeading,
                        float multipliedLeading)

      Sets the leading fixed and variable. The resultant leading will be fixedLeading+multipliedLeading*maxFontSize where maxFontSize is the size of the biggest font in the line.
      Parameters:
        `fixedLeading` - the fixed leading
        `multipliedLeading` - the variable leading

    - #### setIndentationLeft

          public void setIndentationLeft(float indentation)

      Sets the indentation of this paragraph on the left side.
      Parameters:
        `indentation` - the new indentation

    - #### setIndentationRight

          public void setIndentationRight(float indentation)

      Sets the indentation of this paragraph on the right side.
      Parameters:
        `indentation` - the new indentation

    - #### setFirstLineIndent

          public void setFirstLineIndent(float firstLineIndent)

      Setter for property firstLineIndent.
      Parameters:
        `firstLineIndent` - New value of property firstLineIndent.

    - #### setSpacingBefore

          public void setSpacingBefore(float spacing)

      Sets the spacing before this paragraph.
      Parameters:
        `spacing` - the new spacing

    - #### setSpacingAfter

          public void setSpacingAfter(float spacing)

      Sets the spacing after this paragraph.
      Parameters:
        `spacing` - the new spacing

    - #### setKeepTogether

          public void setKeepTogether(boolean keeptogether)

      Indicates that the paragraph has to be kept together on one page.
      Parameters:
        `keeptogether` - true of the paragraph may not be split over 2 pages

    - #### getKeepTogether

          public boolean getKeepTogether()

      Checks if this paragraph has to be kept together on one page.
      Returns:
        true if the paragraph may not be split over 2 pages.

    - #### getAlignment

          public int getAlignment()

      Gets the alignment of this paragraph.
      Returns:
        alignment

    - #### getMultipliedLeading

          public float getMultipliedLeading()

      Gets the variable leading
      Returns:
        the leading

    - #### getTotalLeading

          public float getTotalLeading()

      Gets the total leading. This method is based on the assumption that the font of the Paragraph is the font of all the elements that make part of the paragraph. This isn't necessarily true.
      Returns:
        the total leading (fixed and multiplied)

    - #### getIndentationLeft

          public float getIndentationLeft()

      Gets the indentation of this paragraph on the left side.
      Returns:
        the indentation

    - #### getIndentationRight

          public float getIndentationRight()

      Gets the indentation of this paragraph on the right side.
      Returns:
        the indentation

    - #### getFirstLineIndent

          public float getFirstLineIndent()

      Getter for property firstLineIndent.
      Returns:
        Value of property firstLineIndent.

    - #### getSpacingBefore

          public float getSpacingBefore()

      Gets the spacing before this paragraph.
      Returns:
        the spacing
      Since:
        2.1.5

    - #### getSpacingAfter

          public float getSpacingAfter()

      Gets the spacing after this paragraph.
      Returns:
        the spacing
      Since:
        2.1.5

    - #### getExtraParagraphSpace

          public float getExtraParagraphSpace()

      Getter for property extraParagraphSpace.
      Returns:
        Value of property extraParagraphSpace.

    - #### setExtraParagraphSpace

          public void setExtraParagraphSpace(float extraParagraphSpace)

      Setter for property extraParagraphSpace.
      Parameters:
        `extraParagraphSpace` - New value of property extraParagraphSpace.

    - #### spacingBefore

          public float spacingBefore()

      Deprecated. As of iText 2.1.5, replaced by `getSpacingBefore()`, scheduled for removal at 2.3.0
      Gets the spacing before this paragraph.
      Returns:
        the spacing

    - #### spacingAfter

          public float spacingAfter()

      Deprecated. As of iText 2.1.5, replaced by `getSpacingAfter()`, scheduled for removal at 2.3.0
      Gets the spacing after this paragraph.
      Returns:
        the spacing