org.apache.poi.xslf.usermodel

## Class XSLFTextParagraph

- java.lang.Object
- - org.apache.poi.xslf.usermodel.XSLFTextParagraph

- All Implemented Interfaces:
    java.lang.Iterable<XSLFTextRun>, TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>

      @Beta
      public class XSLFTextParagraph
      extends java.lang.Object
      implements TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>

  Represents a paragraph of text within the containing text body. The paragraph is the highest level text separation mechanism.
  Since:
    POI-3.8

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.poi.sl.usermodel.TextParagraph

      `TextParagraph.BulletStyle, TextParagraph.FontAlign, TextParagraph.TextAlign`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `XSLFTextRun` | `addLineBreak()` Insert a line break
    `XSLFTextRun` | `addNewTextRun()` Add a new run of text
    `void` | `addTabStop(double value)`
    `void` | `addTabStops(double positionInPoints, TabStop.TabStopType tabStopType)` Set the `TabStop` collection
    `void` | `clearTabStops()` Removes the tabstops of this paragraphs.
    `AutoNumberingScheme` | `getAutoNumberingScheme()`
    `java.lang.Integer` | `getAutoNumberingStartAt()`
    `java.lang.String` | `getBulletCharacter()`
    `java.lang.String` | `getBulletFont()`
    `PaintStyle` | `getBulletFontColor()`
    `java.lang.Double` | `getBulletFontSize()` Returns the bullet size that is to be used within a paragraph.
    `TextParagraph.BulletStyle` | `getBulletStyle()`
    `java.lang.String` | `getDefaultFontFamily()`
    `java.lang.Double` | `getDefaultFontSize()`
    `java.lang.Double` | `getDefaultTabSize()`
    `TextParagraph.FontAlign` | `getFontAlign()` Returns the font alignment that is applied to the paragraph.
    `java.lang.Double` | `getIndent()`
    `int` | `getIndentLevel()`
    `java.lang.Double` | `getLeftMargin()`
    `java.lang.Double` | `getLineSpacing()` Returns the vertical line spacing that is to be used within a paragraph.
    `XSLFTextShape` | `getParentShape()`
    `java.lang.Double` | `getRightMargin()` Specifies the right margin of the paragraph.
    `java.lang.Double` | `getSpaceAfter()` The amount of vertical white space after the paragraph This may be specified in two different ways, percentage spacing and font point spacing:
    `java.lang.Double` | `getSpaceBefore()` The amount of vertical white space before the paragraph This may be specified in two different ways, percentage spacing and font point spacing:
    `double` | `getTabStop(int idx)`
    `java.util.List<XSLFTabStop>` | `getTabStops()` Get the `TabStops` - the list can't be and it's entries shouldn't be modified.
    `java.lang.String` | `getText()`
    `TextParagraph.TextAlign` | `getTextAlign()` Returns the alignment that is applied to the paragraph.
    `java.util.List<XSLFTextRun>` | `getTextRuns()` Fetch the text runs that are contained within this block of text
    `org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraph` | `getXmlObject()`
    `boolean` | `isBullet()` Returns whether this paragraph has bullets
    `boolean` | `isHeaderOrFooter()` Convenience method to determine if this text paragraph is part of the slide header or footer
    `java.util.Iterator<XSLFTextRun>` | `iterator()`
    `protected XSLFTextRun` | `newTextRun(org.openxmlformats.schemas.drawingml.x2006.main.CTTextLineBreak r)`
    `protected XSLFTextRun` | `newTextRun(org.apache.xmlbeans.XmlObject r)` Helper method to allow subclasses to provide their own text run
    `void` | `setBullet(boolean flag)`
    `void` | `setBulletAutoNumber(AutoNumberingScheme scheme, int startAt)` Specifies that automatic numbered bullet points should be applied to this paragraph
    `void` | `setBulletCharacter(java.lang.String str)`
    `void` | `setBulletFont(java.lang.String typeface)`
    `void` | `setBulletFontColor(java.awt.Color color)`
    `void` | `setBulletFontColor(PaintStyle color)` Set the color to be used on bullet characters within a given paragraph.
    `void` | `setBulletFontSize(double bulletSize)` Sets the bullet size that is to be used within a paragraph.
    `void` | `setBulletStyle(java.lang.Object... styles)` Sets the bullet styles.
    `void` | `setFontAlign(TextParagraph.FontAlign align)` Specifies the font alignment that is to be applied to the paragraph.
    `void` | `setIndent(java.lang.Double indent)` Specifies the indent size that will be applied to the first line of text in the paragraph.
    `void` | `setIndentLevel(int level)` Specifies the particular level text properties that this paragraph will follow.
    `void` | `setLeftMargin(java.lang.Double leftMargin)` Specifies the left margin of the paragraph.
    `void` | `setLineSpacing(java.lang.Double lineSpacing)` This element specifies the vertical line spacing that is to be used within a paragraph.
    `void` | `setRightMargin(java.lang.Double rightMargin)`
    `void` | `setSpaceAfter(java.lang.Double spaceAfter)` Set the amount of vertical white space that will be present after the paragraph.
    `void` | `setSpaceBefore(java.lang.Double spaceBefore)` Set the amount of vertical white space that will be present before the paragraph.
    `void` | `setTextAlign(TextParagraph.TextAlign align)` Specifies the alignment that is to be applied to the paragraph.
    `java.lang.String` | `toString()`

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

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

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Method Detail

    - #### getText

          public java.lang.String getText()

    - #### getXmlObject

          @Internal
          public org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraph getXmlObject()

    - #### getParentShape

          public XSLFTextShape getParentShape()

      Specified by:
        `getParentShape` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`

    - #### getTextRuns

          public java.util.List<XSLFTextRun> getTextRuns()

      Description copied from interface: `TextParagraph`
      Fetch the text runs that are contained within this block of text
      Specified by:
        `getTextRuns` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`

    - #### iterator

          public java.util.Iterator<XSLFTextRun> iterator()

      Specified by:
        `iterator` in interface `java.lang.Iterable<XSLFTextRun>`

    - #### addNewTextRun

          public XSLFTextRun addNewTextRun()

      Add a new run of text
      Returns:
        a new run of text

    - #### addLineBreak

          public XSLFTextRun addLineBreak()

      Insert a line break
      Returns:
        text run representing this line break ('\n')

    - #### getTextAlign

          public TextParagraph.TextAlign getTextAlign()

      Description copied from interface: `TextParagraph`
      Returns the alignment that is applied to the paragraph. If this attribute is omitted, then null is returned. User code can imply the value `TextParagraph.TextAlign.LEFT` then.
      Specified by:
        `getTextAlign` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Returns:
        alignment that is applied to the paragraph

    - #### setTextAlign

          public void setTextAlign(TextParagraph.TextAlign align)

      Description copied from interface: `TextParagraph`
      Specifies the alignment that is to be applied to the paragraph. Possible values for this include left, right, centered, justified and distributed, see `TextParagraph.TextAlign`.
      Specified by:
        `setTextAlign` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Parameters:
        `align` - text align

    - #### getFontAlign

          public TextParagraph.FontAlign getFontAlign()

      Description copied from interface: `TextParagraph`
      Returns the font alignment that is applied to the paragraph. If this attribute is omitted, then null is return, user code can imply the a value of `TextParagraph.FontAlign.AUTO`
      Specified by:
        `getFontAlign` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Returns:
        alignment that is applied to the paragraph

    - #### setFontAlign

          public void setFontAlign(TextParagraph.FontAlign align)

      Specifies the font alignment that is to be applied to the paragraph. Possible values for this include auto, top, center, baseline and bottom. see `TextParagraph.FontAlign`.
      Parameters:
        `align` - font align

    - #### getBulletFont

          public java.lang.String getBulletFont()

      Returns:
        the font to be used on bullet characters within a given paragraph

    - #### setBulletFont

          public void setBulletFont(java.lang.String typeface)

    - #### getBulletCharacter

          public java.lang.String getBulletCharacter()

      Returns:
        the character to be used in place of the standard bullet point

    - #### setBulletCharacter

          public void setBulletCharacter(java.lang.String str)

    - #### getBulletFontColor

          public PaintStyle getBulletFontColor()

      Returns:
        the color of bullet characters within a given paragraph. A `null` value means to use the text font color.

    - #### setBulletFontColor

          public void setBulletFontColor(java.awt.Color color)

    - #### setBulletFontColor

          public void setBulletFontColor(PaintStyle color)

      Set the color to be used on bullet characters within a given paragraph.
      Parameters:
        `color` - the bullet color

    - #### getBulletFontSize

          public java.lang.Double getBulletFontSize()

      Returns the bullet size that is to be used within a paragraph. This may be specified in two different ways, percentage spacing and font point spacing:

      If bulletSize >= 0, then bulletSize is a percentage of the font size. If bulletSize < 0, then it specifies the size in points

      Returns:
        the bullet size

    - #### setBulletFontSize

          public void setBulletFontSize(double bulletSize)

      Sets the bullet size that is to be used within a paragraph. This may be specified in two different ways, percentage spacing and font point spacing:

      If bulletSize >= 0, then bulletSize is a percentage of the font size. If bulletSize < 0, then it specifies the size in points

    - #### getAutoNumberingScheme

          public AutoNumberingScheme getAutoNumberingScheme()

      Returns:
        the auto numbering scheme, or null if not defined

    - #### getAutoNumberingStartAt

          public java.lang.Integer getAutoNumberingStartAt()

      Returns:
        the auto numbering starting number, or null if not defined

    - #### setIndent

          public void setIndent(java.lang.Double indent)

      Description copied from interface: `TextParagraph`
      Specifies the indent size that will be applied to the first line of text in the paragraph.
      Specified by:
        `setIndent` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Parameters:
        `indent` - the indent (in points) applied to the first line of text in the paragraph

    - #### getIndent

          public java.lang.Double getIndent()

      Specified by:
        `getIndent` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Returns:
        the indent (in points) applied to the first line of text in the paragraph. or null, if unset

    - #### setLeftMargin

          public void setLeftMargin(java.lang.Double leftMargin)

      Description copied from interface: `TextParagraph`
      Specifies the left margin of the paragraph. This is specified in addition to the text body inset and applies only to this text paragraph. That is the text body Inset and the LeftMargin attributes are additive with respect to the text position.
      Specified by:
        `setLeftMargin` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Parameters:
        `leftMargin` - the left margin (in points) or null to unset

    - #### getLeftMargin

          public java.lang.Double getLeftMargin()

      Specified by:
        `getLeftMargin` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Returns:
        the left margin (in points) of the paragraph, null if unset

    - #### setRightMargin

          public void setRightMargin(java.lang.Double rightMargin)

      Specified by:
        `setRightMargin` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Parameters:
        `rightMargin` - the right margin (in points) of the paragraph

    - #### getRightMargin

          public java.lang.Double getRightMargin()

      Description copied from interface: `TextParagraph`
      Specifies the right margin of the paragraph. This is specified in addition to the text body inset and applies only to this text paragraph. That is the text body Inset and the RightMargin attributes are additive with respect to the text position. The right margin is not support and therefore ignored by the HSLF implementation.
      Specified by:
        `getRightMargin` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Returns:
        the right margin of the paragraph, null if unset

    - #### getDefaultTabSize

          public java.lang.Double getDefaultTabSize()

      Specified by:
        `getDefaultTabSize` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Returns:
        the default size for a tab character within this paragraph in points, null if unset

    - #### getTabStop

          public double getTabStop(int idx)

    - #### addTabStop

          public void addTabStop(double value)

    - #### setLineSpacing

          public void setLineSpacing(java.lang.Double lineSpacing)

      Description copied from interface: `TextParagraph`
      This element specifies the vertical line spacing that is to be used within a paragraph. This may be specified in two different ways, percentage spacing and font point spacing:

      If linespacing >= 0, then linespacing is a percentage of normal line height If linespacing < 0, the absolute value of linespacing is the spacing in points

      Examples:

                // spacing will be 120% of the size of the largest text on each line
                paragraph.setLineSpacing(120);

                // spacing will be 200% of the size of the largest text on each line
                paragraph.setLineSpacing(200);

                // spacing will be 48 points
                paragraph.setLineSpacing(-48.0);

      Specified by:
        `setLineSpacing` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Parameters:
        `lineSpacing` - the vertical line spacing

    - #### getLineSpacing

          public java.lang.Double getLineSpacing()

      Description copied from interface: `TextParagraph`
      Returns the vertical line spacing that is to be used within a paragraph. This may be specified in two different ways, percentage spacing and font point spacing:

      If linespacing >= 0, then linespacing is a percentage of normal line height. If linespacing < 0, the absolute value of linespacing is the spacing in points

      Specified by:
        `getLineSpacing` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Returns:
        the vertical line spacing or null, if unset

    - #### setSpaceBefore

          public void setSpaceBefore(java.lang.Double spaceBefore)

      Description copied from interface: `TextParagraph`
      Set the amount of vertical white space that will be present before the paragraph. This space is specified in either percentage or points:

      If spaceBefore >= 0, then space is a percentage of normal line height. If spaceBefore < 0, the absolute value of linespacing is the spacing in points

      Examples:

                // The paragraph will be formatted to have a spacing before the paragraph text.
                // The spacing will be 200% of the size of the largest text on each line
                paragraph.setSpaceBefore(200);

                // The spacing will be a size of 48 points
                paragraph.setSpaceBefore(-48.0);

      Specified by:
        `setSpaceBefore` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Parameters:
        `spaceBefore` - the vertical white space before the paragraph, null to unset

    - #### getSpaceBefore

          public java.lang.Double getSpaceBefore()

      Description copied from interface: `TextParagraph`
      The amount of vertical white space before the paragraph This may be specified in two different ways, percentage spacing and font point spacing:

      If spaceBefore >= 0, then space is a percentage of normal line height. If spaceBefore < 0, the absolute value in points

      Specified by:
        `getSpaceBefore` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Returns:
        the vertical white space before the paragraph, or null if unset

    - #### setSpaceAfter

          public void setSpaceAfter(java.lang.Double spaceAfter)

      Description copied from interface: `TextParagraph`
      Set the amount of vertical white space that will be present after the paragraph. This space is specified in either percentage or points:

      If spaceAfter >= 0, then space is a percentage of normal line height. If spaceAfter < 0, the absolute value of linespacing is the spacing in points

      Examples:

                // The paragraph will be formatted to have a spacing after the paragraph text.
                // The spacing will be 200% of the size of the largest text on each line
                paragraph.setSpaceAfter(200);

                // The spacing will be a size of 48 points
                paragraph.setSpaceAfter(-48.0);

      Specified by:
        `setSpaceAfter` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Parameters:
        `spaceAfter` - the vertical white space after the paragraph, null to unset

    - #### getSpaceAfter

          public java.lang.Double getSpaceAfter()

      Description copied from interface: `TextParagraph`
      The amount of vertical white space after the paragraph This may be specified in two different ways, percentage spacing and font point spacing:

      If spaceBefore >= 0, then space is a percentage of normal line height. If spaceBefore < 0, the absolute value of linespacing is the spacing in points

      Specified by:
        `getSpaceAfter` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Returns:
        the vertical white space after the paragraph or null, if unset

    - #### setIndentLevel

          public void setIndentLevel(int level)

      Description copied from interface: `TextParagraph`
      Specifies the particular level text properties that this paragraph will follow. The value for this attribute formats the text according to the corresponding level paragraph properties defined in the SlideMaster.
      Specified by:
        `setIndentLevel` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Parameters:
        `level` - the level (0 ... 4)

    - #### getIndentLevel

          public int getIndentLevel()

      Specified by:
        `getIndentLevel` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Returns:
        the text level of this paragraph (0-based). Default is 0.

    - #### isBullet

          public boolean isBullet()

      Returns whether this paragraph has bullets

    - #### setBullet

          public void setBullet(boolean flag)

      Parameters:
        `flag` - whether text in this paragraph has bullets

    - #### setBulletAutoNumber

          public void setBulletAutoNumber(AutoNumberingScheme scheme,
                                          int startAt)

      Specifies that automatic numbered bullet points should be applied to this paragraph
      Parameters:
        `scheme` - type of auto-numbering
        `startAt` - the number that will start number for a given sequence of automatically numbered bullets (1-based).

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### getDefaultFontSize

          public java.lang.Double getDefaultFontSize()

      Specified by:
        `getDefaultFontSize` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Returns:
        the default font size, in case its not set in the textrun or null, if unset

    - #### getDefaultFontFamily

          public java.lang.String getDefaultFontFamily()

      Specified by:
        `getDefaultFontFamily` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`

    - #### getBulletStyle

          public TextParagraph.BulletStyle getBulletStyle()

      Specified by:
        `getBulletStyle` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Returns:
        the bullet style of the paragraph, if `null` then no bullets are used

    - #### setBulletStyle

          public void setBulletStyle(java.lang.Object... styles)

      Description copied from interface: `TextParagraph`
      Sets the bullet styles. If no styles are given, the bullets are omitted. Possible attributes are integer/double (bullet size), Color (bullet color), character (bullet character), string (bullet font), AutoNumberingScheme
      Specified by:
        `setBulletStyle` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`

    - #### getTabStops

          public java.util.List<XSLFTabStop> getTabStops()

      Description copied from interface: `TextParagraph`
      Get the `TabStops` - the list can't be and it's entries shouldn't be modified. Opposed to other properties, this method is not cascading to the master sheet, if the property is not defined on the normal slide level, i.e. the tabstops on different levels aren't merged.
      Specified by:
        `getTabStops` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Returns:
        the tabstop collection or `null` if no tabstops are defined

    - #### addTabStops

          public void addTabStops(double positionInPoints,
                                  TabStop.TabStopType tabStopType)

      Description copied from interface: `TextParagraph`
      Set the `TabStop` collection
      Specified by:
        `addTabStops` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`

    - #### clearTabStops

          public void clearTabStops()

      Description copied from interface: `TextParagraph`
      Removes the tabstops of this paragraphs. This doesn't affect inherited tabstops, e.g. inherited by the slide master
      Specified by:
        `clearTabStops` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`

    - #### isHeaderOrFooter

          public boolean isHeaderOrFooter()

      Description copied from interface: `TextParagraph`
      Convenience method to determine if this text paragraph is part of the slide header or footer
      Specified by:
        `isHeaderOrFooter` in interface `TextParagraph<XSLFShape,XSLFTextParagraph,XSLFTextRun>`
      Returns:
        true if this paragraph is part of a header or footer placeholder

    - #### newTextRun

          protected XSLFTextRun newTextRun(org.apache.xmlbeans.XmlObject r)

      Helper method to allow subclasses to provide their own text run
      Parameters:
        `r` - the xml reference
      Returns:
        a new text paragraph
      Since:
        POI 3.15-beta2

    - #### newTextRun

          protected XSLFTextRun newTextRun(org.openxmlformats.schemas.drawingml.x2006.main.CTTextLineBreak r)

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.