com.lowagie.text.rtf.list

## Class RtfList

- java.lang.Object
- - com.lowagie.text.rtf.RtfElement
  - - com.lowagie.text.rtf.list.RtfList

- All Implemented Interfaces:
    RtfBasicElement, RtfExtendedElement, RtfElementInterface

      public class RtfList
      extends RtfElement
      implements RtfExtendedElement

  The RtfList stores one List. It also provides the methods to write the list declaration and the list data.
  Since:
    2.1.3
  Version:
    $Id$
  Author:
    Mark Hall (Mark.Hall@mail.room3b.eu), Howard Shank (hgshank@yahoo.com)

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private java.util.ArrayList` | `items` The subitems of this RtfList
    `private static byte[]` | `LIST` Constant for the list
    `private static byte[]` | `LIST_HYBRID` Constant for the hybrid list
    `static byte[]` | `LIST_ID` Constant for the list id
    `static byte[]` | `LIST_LEVEL_NUMBER` Constant for the list level value
    `private static byte[]` | `LIST_NAME` Constant for the name of this list
    `static byte[]` | `LIST_NUMBER` Constant for the list number
    `static byte[]` | `LIST_NUMBER_END` Constant for the old list number end
    `private static byte[]` | `LIST_RESTARTHDN` Constant to indicate if the list restarts at each section.
    `private static byte[]` | `LIST_SIMPLE` Constant for the simple list
    `private static byte[]` | `LIST_STYLEID` Constant for the identifier of the style of this list.
    `private static byte[]` | `LIST_STYLENAME` Constant for the identifier of the style of this list.
    `private static byte[]` | `LIST_TEMPLATE_ID` Constant for the list template id
    `static byte[]` | `LIST_TEXT` Constant for the old list text
    `static int` | `LIST_TYPE_HYBRID` List type of listhybrid
    `static int` | `LIST_TYPE_NORMAL` List type of NORMAL - no control word
    `static int` | `LIST_TYPE_SIMPLE` List type of listsimple
    `private int` | `listID` The list id
    `private java.util.ArrayList` | `listLevels` The RtfList lists managed by this RtfListTable
    `private int` | `listNumber` The list number of this RtfList
    `private int` | `listType` This RtfList type
    `private java.lang.String` | `name` The name of the list if it exists
    `private RtfList` | `parentList` The parent list if there is one.
    `static byte[]` | `TAB` Constant for a tab character

    - ### Fields inherited from class com.lowagie.text.rtf.RtfElement

      `document, inHeader, inTable`

    - ### Fields inherited from interface com.lowagie.text.rtf.RtfBasicElement

      `CLOSE_GROUP, COMMA_DELIMITER, DELIMITER, OPEN_GROUP, TWIPS_FACTOR`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RtfList()` Constructs an empty RtfList object.
    `RtfList(RtfDocument doc)` Constructs an empty RtfList object.
    `RtfList(RtfDocument doc, List list)` Constructs a new RtfList for the specified List.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `correctIndentation()` Correct the indentation of this RtfList by adding left/first line indentation from the parent RtfList.
    `protected void` | `createDefaultLevels()` Create a default set of listlevels
    `int` | `getID()` Get the list ID number
    `RtfListLevel` | `getListLevel(int index)`
    `int` | `getListNumber()` Gets the id of this list
    `int` | `getListType()`
    `java.lang.String` | `getName()`
    `RtfList` | `getParentList()`
    `void` | `setDocument(RtfDocument doc)` Set the document.
    `void` | `setID(int id)` Set the list ID number
    `void` | `setInHeader(boolean inHeader)` Sets whether this RtfList is in a header.
    `void` | `setInTable(boolean inTable)` Sets whether this RtfList is in a table.
    `void` | `setListNumber(int listNumber)` Sets the id of this list
    `void` | `setListType(int listType)`
    `void` | `setName(java.lang.String name)`
    `void` | `setParentList(RtfList parentList)`
    `void` | `writeContent(java.io.OutputStream result)` Writes the content of the RtfList
    `void` | `writeDefinition(java.io.OutputStream result)` Writes the definition part of this list level
    `protected void` | `writeListNumbers(java.io.OutputStream result)` Writes only the list number and list level number.
    `protected void` | `writeListTextBlock(java.io.OutputStream result, int itemNr, RtfListLevel listLevel)`

    - ### Methods inherited from class com.lowagie.text.rtf.RtfElement

      `intToByteArray, isInTable, setRtfDocument`

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

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

    - ### Methods inherited from interface com.lowagie.text.rtf.RtfBasicElement

      `setRtfDocument`

- - ### Field Detail

    - #### LIST_NUMBER

          public static final byte[] LIST_NUMBER

      Constant for the list number
      Since:
        2.1.3

    - #### LIST

          private static final byte[] LIST

      Constant for the list

    - #### LIST_ID

          public static final byte[] LIST_ID

      Constant for the list id
      Since:
        2.1.3

    - #### LIST_TEMPLATE_ID

          private static final byte[] LIST_TEMPLATE_ID

      Constant for the list template id

    - #### LIST_SIMPLE

          private static final byte[] LIST_SIMPLE

      Constant for the simple list

    - #### LIST_HYBRID

          private static final byte[] LIST_HYBRID

      Constant for the hybrid list

    - #### LIST_RESTARTHDN

          private static final byte[] LIST_RESTARTHDN

      Constant to indicate if the list restarts at each section. Word 7 compatiblity

    - #### LIST_NAME

          private static final byte[] LIST_NAME

      Constant for the name of this list

    - #### LIST_STYLEID

          private static final byte[] LIST_STYLEID

      Constant for the identifier of the style of this list. Mutually exclusive with \\liststylename

    - #### LIST_STYLENAME

          private static final byte[] LIST_STYLENAME

      Constant for the identifier of the style of this list. Mutually exclusive with \\liststyleid

    - #### LIST_LEVEL_NUMBER

          public static final byte[] LIST_LEVEL_NUMBER

      Constant for the list level value
      Since:
        2.1.3

    - #### LIST_TEXT

          public static final byte[] LIST_TEXT

      Constant for the old list text
      Since:
        2.1.3

    - #### LIST_NUMBER_END

          public static final byte[] LIST_NUMBER_END

      Constant for the old list number end
      Since:
        2.1.3

    - #### TAB

          public static final byte[] TAB

      Constant for a tab character
      Since:
        2.1.3

    - #### items

          private java.util.ArrayList items

      The subitems of this RtfList

    - #### parentList

          private RtfList parentList

      The parent list if there is one.

    - #### listID

          private int listID

      The list id

    - #### LIST_TYPE_NORMAL

          public static final int LIST_TYPE_NORMAL

      List type of NORMAL - no control word
      Since:
        2.1.3
      See Also:
        Constant Field Values

    - #### LIST_TYPE_SIMPLE

          public static final int LIST_TYPE_SIMPLE

      List type of listsimple
      Since:
        2.1.3
      See Also:
        Constant Field Values

    - #### LIST_TYPE_HYBRID

          public static final int LIST_TYPE_HYBRID

      List type of listhybrid
      Since:
        2.1.3
      See Also:
        Constant Field Values

    - #### listType

          private int listType

      This RtfList type

    - #### name

          private java.lang.String name

      The name of the list if it exists

    - #### listNumber

          private int listNumber

      The list number of this RtfList

    - #### listLevels

          private java.util.ArrayList listLevels

      The RtfList lists managed by this RtfListTable

  - ### Constructor Detail

    - #### RtfList

          public RtfList()

      Constructs an empty RtfList object.
      Since:
        2.1.3

    - #### RtfList

          public RtfList(RtfDocument doc)

      Constructs an empty RtfList object.
      Parameters:
        `doc` - The RtfDocument this RtfList belongs to
      Since:
        2.1.3

    - #### RtfList

          public RtfList(RtfDocument doc,
                 List list)

      Constructs a new RtfList for the specified List.
      Parameters:
        `doc` - The RtfDocument this RtfList belongs to
        `list` - The List this RtfList is based on
      Since:
        2.1.3

  - ### Method Detail

    - #### setDocument

          public void setDocument(RtfDocument doc)

      Set the document.
      Parameters:
        `doc` - The RtfDocument
      Since:
        2.1.3

    - #### writeDefinition

          public void writeDefinition(java.io.OutputStream result)
                               throws java.io.IOException

      Writes the definition part of this list level
      Specified by:
        `writeDefinition` in interface `RtfExtendedElement`
      Parameters:
        `result` -
      Throws:
        `java.io.IOException`
      Since:
        2.1.3

    - #### writeContent

          public void writeContent(java.io.OutputStream result)
                            throws java.io.IOException

      Writes the content of the RtfList
      Specified by:
        `writeContent` in interface `RtfBasicElement`
      Specified by:
        `writeContent` in class `RtfElement`
      Parameters:
        `result` - The `OutputStream` to write the content to
      Throws:
        `java.io.IOException`
      Since:
        2.1.3

    - #### writeListTextBlock

          protected void writeListTextBlock(java.io.OutputStream result,
                                int itemNr,
                                RtfListLevel listLevel)
                                     throws java.io.IOException

      Parameters:
        `result` -
        `itemNr` -
        `listLevel` -
      Throws:
        `java.io.IOException`
      Since:
        2.1.3

    - #### writeListNumbers

          protected void writeListNumbers(java.io.OutputStream result)
                                   throws java.io.IOException

      Writes only the list number and list level number.
      Parameters:
        `result` - The `OutputStream` to write to
      Throws:
        `java.io.IOException` - On i/o errors.
      Since:
        2.1.3

    - #### createDefaultLevels

          protected void createDefaultLevels()

      Create a default set of listlevels
      Since:
        2.1.3

    - #### getListNumber

          public int getListNumber()

      Gets the id of this list
      Returns:
        Returns the list number.
      Since:
        2.1.3

    - #### setListNumber

          public void setListNumber(int listNumber)

      Sets the id of this list
      Parameters:
        `listNumber` - The list number to set.
      Since:
        2.1.3

    - #### setInTable

          public void setInTable(boolean inTable)

      Sets whether this RtfList is in a table. Sets the correct inTable setting for all child elements.
      Specified by:
        `setInTable` in interface `RtfBasicElement`
      Overrides:
        `setInTable` in class `RtfElement`
      Parameters:
        `inTable` - `True` if this RtfList is in a table, `false` otherwise
      Since:
        2.1.3

    - #### setInHeader

          public void setInHeader(boolean inHeader)

      Sets whether this RtfList is in a header. Sets the correct inTable setting for all child elements.
      Specified by:
        `setInHeader` in interface `RtfBasicElement`
      Overrides:
        `setInHeader` in class `RtfElement`
      Parameters:
        `inHeader` - `True` if this RtfList is in a header, `false` otherwise
      Since:
        2.1.3

    - #### correctIndentation

          protected void correctIndentation()

      Correct the indentation of this RtfList by adding left/first line indentation from the parent RtfList. Also calls correctIndentation on all child RtfLists.
      Since:
        2.1.3

    - #### setID

          public void setID(int id)

      Set the list ID number
      Parameters:
        `id` -
      Since:
        2.1.3

    - #### getID

          public int getID()

      Get the list ID number
      Returns:
        this list id
      Since:
        2.1.3

    - #### getListType

          public int getListType()

      Returns:
        the listType
      Since:
        2.1.3
      See Also:
        `LIST_TYPE_NORMAL`, `LIST_TYPE_SIMPLE`, `LIST_TYPE_HYBRID`

    - #### setListType

          public void setListType(int listType)
                           throws java.security.InvalidParameterException

      Parameters:
        `listType` - the listType to set
      Throws:
        `java.security.InvalidParameterException`
      Since:
        2.1.3
      See Also:
        `LIST_TYPE_NORMAL`, `LIST_TYPE_SIMPLE`, `LIST_TYPE_HYBRID`

    - #### getParentList

          public RtfList getParentList()

      Returns:
        the parentList
      Since:
        2.1.3

    - #### setParentList

          public void setParentList(RtfList parentList)

      Parameters:
        `parentList` - the parentList to set
      Since:
        2.1.3

    - #### getName

          public java.lang.String getName()

      Returns:
        the name
      Since:
        2.1.3

    - #### setName

          public void setName(java.lang.String name)

      Parameters:
        `name` - the name to set
      Since:
        2.1.3

    - #### getListLevel

          public RtfListLevel getListLevel(int index)

      Returns:
        the list at the index
      Since:
        2.1.3