## com.lowagie.text
Class List

    java.lang.Object
      com.lowagie.text.List

All Implemented Interfaces:
  Element, MarkupAttributes, TextElementArray

Direct Known Subclasses:
  GreekList, RomanList, ZapfDingbatsList, ZapfDingbatsNumberList

    public class List

extends java.lang.Object
implements TextElementArray, MarkupAttributes

A `List` contains several `ListItem`s.

Example 1:

>      List list = new List(true, 20);
>      list.add(new ListItem("First line"));
>      list.add(new ListItem("The second line is longer to see what happens once the end of the line is reached. Will it start on a new line?"));
>      list.add(new ListItem("Third line"));

The result of this code looks like this:

1. First line
2. The second line is longer to see what happens once the end of the line is reached. Will it start on a new line?
3. Third line

Example 2:

>      List overview = new List(false, 10);
>      overview.add(new ListItem("This is an item"));
>      overview.add("This is another item");

The result of this code looks like this:

- This is an item
- This is another item

See Also:
  `Element`, `ListItem`

Field Summary
`static boolean` `ALPHABETICAL` a possible value for the lettered parameter
`protected int` `first` This variable indicates the first number of a numbered list.
`protected char` `firstCh`
`protected float` `indentationLeft` The indentation of this list on the left side.
`protected float` `indentationRight` The indentation of this list on the right side.
`protected char` `lastCh`
`protected boolean` `lettered`
`protected java.util.ArrayList` `list` This is the `ArrayList` containing the different `ListItem`s.
`protected java.util.Properties` `markupAttributes` Contains extra markupAttributes
`protected boolean` `numbered` This variable indicates if the list has to be numbered.
`static boolean` `NUMBERICAL` a possible value for the lettered parameter
`static boolean` `ORDERED` a possible value for the numbered parameter
`protected Chunk` `symbol` This is the listsymbol of a list that is not numbered.
`protected float` `symbolIndent` The indentation of the listitems.
`static boolean` `UNORDERED` a possible value for the numbered parameter

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, GRAPHIC, HEADER, IMGRAW, IMGTEMPLATE, JPEG, KEYWORDS, LIST, LISTITEM, MULTI_COLUMN_TEXT, PARAGRAPH, PHRASE, PRODUCER, PTABLE, RECTANGLE, ROW, SECTION, SUBJECT, TABLE, TITLE`

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, GRAPHIC, HEADER, IMGRAW, IMGTEMPLATE, JPEG, KEYWORDS, LIST, LISTITEM, MULTI_COLUMN_TEXT, PARAGRAPH, PHRASE, PRODUCER, PTABLE, RECTANGLE, ROW, SECTION, SUBJECT, TABLE, TITLE`

Constructor Summary
`List(boolean numbered, boolean lettered, float symbolIndent)` Creates a list
`List(boolean numbered, float symbolIndent)` Constructs a `List`.
`List(java.util.Properties attributes)` Returns a `List` that has been constructed taking in account the value of some attributes.

Method Summary
`boolean` `add(java.lang.Object o)` Adds an `Object` to the `List`.
`int` `first()` Gets the first number .
`java.util.ArrayList` `getChunks()` Gets all the chunks in this element.
`java.util.ArrayList` `getItems()` Gets all the items in the list.
`java.lang.String` `getMarkupAttribute(java.lang.String name)` Returns the value of the specified attribute.
`java.util.Set` `getMarkupAttributeNames()` Returns a `Set` of `String` attribute names for the `MarkupAttributes` implementor.
`java.util.Properties` `getMarkupAttributes()` Return a `Properties`-object containing all the markupAttributes.
`float` `indentationLeft()` Gets the indentation of this paragraph on the left side.
`float` `indentationRight()` Gets the indentation of this paragraph on the right side.
`boolean` `isNumbered()` Checks if the list is numbered.
`static boolean` `isSymbol(java.lang.String tag)` Checks if a given tag corresponds with the listsymbol tag of this object.
`static boolean` `isTag(java.lang.String tag)` Checks if a given tag corresponds with this object.
`float` `leading()` Gets the leading of the first listitem.
`private int` `listItemsInList()` Counts the number of ListItems in the list ommiting nested lists
`private java.lang.String` `nextLetter()` Retrieves the next letter in the sequence
`boolean` `process(ElementListener listener)` Processes the element by adding it (or the different parts) to an `ElementListener`.
`void` `setFirst(char first)` Sets the Letter that has to come first in the list.
`void` `setFirst(int first)` Sets the number that has to come first in the list.
`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` `setListSymbol(Chunk symbol)` Sets the listsymbol.
`void` `setListSymbol(java.lang.String symbol)` Sets the listsymbol.
`void` `setMarkupAttribute(java.lang.String name, java.lang.String value)` Sets the specified attribute.
`void` `setMarkupAttributes(java.util.Properties markupAttributes)` Sets the markupAttributes.
`int` `size()` Gets the size of the list.
`Chunk` `symbol()` Gets the Chunk containing the symbol.
`float` `symbolIndent()` Gets the symbol indentation.
`int` `type()` Gets the type of the text element.

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.Element
`toString`

Methods inherited from interface com.lowagie.text.Element
`toString`

Field Detail

### ORDERED

    public static final boolean ORDERED

  a possible value for the numbered parameter

  See Also:
    Constant Field Values

### UNORDERED

    public static final boolean UNORDERED

  a possible value for the numbered parameter

  See Also:
    Constant Field Values

### NUMBERICAL

    public static final boolean NUMBERICAL

  a possible value for the lettered parameter

  See Also:
    Constant Field Values

### ALPHABETICAL

    public static final boolean ALPHABETICAL

  a possible value for the lettered parameter

  See Also:
    Constant Field Values

### list

    protected java.util.ArrayList list

  This is the `ArrayList` containing the different `ListItem`s.

### numbered

    protected boolean numbered

  This variable indicates if the list has to be numbered.

### lettered

    protected boolean lettered

### first

    protected int first

  This variable indicates the first number of a numbered list.

### firstCh

    protected char firstCh

### lastCh

    protected char lastCh

### symbol

    protected Chunk symbol

  This is the listsymbol of a list that is not numbered.

### indentationLeft

    protected float indentationLeft

  The indentation of this list on the left side.

### indentationRight

    protected float indentationRight

  The indentation of this list on the right side.

### symbolIndent

    protected float symbolIndent

  The indentation of the listitems.

### markupAttributes

    protected java.util.Properties markupAttributes

  Contains extra markupAttributes

Constructor Detail

### List

    public List(boolean numbered,
                float symbolIndent)

  Constructs a `List`.

  Remark: the parameter symbolIndent is important for instance when generating PDF-documents; it indicates the indentation of the listsymbol. It is not important for HTML-documents.

  Parameters:
    `numbered` - a boolean
    `symbolIndent` - the indentation that has to be used for the listsymbol

### List

    public List(boolean numbered,
                boolean lettered,
                float symbolIndent)

  Creates a list

  Parameters:
    `numbered` - has the list to be numbered?
    `lettered` - has the list to be 'numbered' with letters
    `symbolIndent` - the indentation of the symbol

### List

    public List(java.util.Properties attributes)

  Returns a `List` that has been constructed taking in account the value of some attributes.

  Parameters:
    `attributes` - Some attributes

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`

### add

    public boolean add(java.lang.Object o)

  Adds an `Object` to the `List`.

  Specified by:
    `add` in interface `TextElementArray`
  Parameters:
    `o` - the object to add.
  Returns:
    true if adding the object succeeded

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

### setFirst

    public void setFirst(int first)

  Sets the number that has to come first in the list.

  Parameters:
    `first` - a number

### setFirst

    public void setFirst(char first)

  Sets the Letter that has to come first in the list.

  Parameters:
    `first` - a letter

### setListSymbol

    public void setListSymbol(Chunk symbol)

  Sets the listsymbol.

  Parameters:
    `symbol` - a `Chunk`

### setListSymbol

    public void setListSymbol(java.lang.String symbol)

  Sets the listsymbol.

  This is a shortcut for `setListSymbol(Chunk symbol)`.

  Parameters:
    `symbol` - a `String`

### getItems

    public java.util.ArrayList getItems()

  Gets all the items in the list.

  Returns:
    an `ArrayList` containing `ListItem`s.

### size

    public int size()

  Gets the size of the list.

  Returns:
    a `size`

### leading

    public float leading()

  Gets the leading of the first listitem.

  Returns:
    a `leading`

### isNumbered

    public boolean isNumbered()

  Checks if the list is numbered.

  Returns:
    `true` if the list is numbered, `false` otherwise.

### symbolIndent

    public float symbolIndent()

  Gets the symbol indentation.

  Returns:
    the symbol indentation

### symbol

    public Chunk symbol()

  Gets the Chunk containing the symbol.

  Returns:
    a Chunk with a symbol

### first

    public int first()

  Gets the first number .

  Returns:
    a number

### indentationLeft

    public float indentationLeft()

  Gets the indentation of this paragraph on the left side.

  Returns:
    the indentation

### indentationRight

    public float indentationRight()

  Gets the indentation of this paragraph on the right side.

  Returns:
    the indentation

### isSymbol

    public static boolean isSymbol(java.lang.String tag)

  Checks if a given tag corresponds with the listsymbol tag of this object.

  Parameters:
    `tag` - the given tag
  Returns:
    true if the tag corresponds

### isTag

    public static boolean isTag(java.lang.String tag)

  Checks if a given tag corresponds with this object.

  Parameters:
    `tag` - the given tag
  Returns:
    true if the tag corresponds

### nextLetter

    private java.lang.String nextLetter()

  Retrieves the next letter in the sequence

  Returns:
    String contains the next character (A-Z or a-z)

### listItemsInList

    private int listItemsInList()

  Counts the number of ListItems in the list ommiting nested lists

  Returns:
    Integer number of ListItems in the list

### setMarkupAttribute

    public void setMarkupAttribute(java.lang.String name,
                                   java.lang.String value)

  Description copied from interface: `MarkupAttributes`
  Sets the specified attribute.

  Specified by:
    `setMarkupAttribute` in interface `MarkupAttributes`
  Parameters:
    `name` - `String` attribute name.
    `value` - `String` attribute value.
  See Also:
    `MarkupAttributes.setMarkupAttribute(java.lang.String, java.lang.String)`

### setMarkupAttributes

    public void setMarkupAttributes(java.util.Properties markupAttributes)

  Description copied from interface: `MarkupAttributes`
  Sets the markupAttributes.

  Specified by:
    `setMarkupAttributes` in interface `MarkupAttributes`
  Parameters:
    `markupAttributes` - a `Properties`-object containing markupattributes
  See Also:
    `MarkupAttributes.setMarkupAttributes(java.util.Properties)`

### getMarkupAttribute

    public java.lang.String getMarkupAttribute(java.lang.String name)

  Description copied from interface: `MarkupAttributes`
  Returns the value of the specified attribute.

  Specified by:
    `getMarkupAttribute` in interface `MarkupAttributes`
  Parameters:
    `name` - `String` attribute name.
  Returns:
    `String`.
  See Also:
    `MarkupAttributes.getMarkupAttribute(java.lang.String)`

### getMarkupAttributeNames

    public java.util.Set getMarkupAttributeNames()

  Description copied from interface: `MarkupAttributes`
  Returns a `Set` of `String` attribute names for the `MarkupAttributes` implementor.

  Specified by:
    `getMarkupAttributeNames` in interface `MarkupAttributes`
  Returns:
    `Set`.
  See Also:
    `MarkupAttributes.getMarkupAttributeNames()`

### getMarkupAttributes

    public java.util.Properties getMarkupAttributes()

  Description copied from interface: `MarkupAttributes`
  Return a `Properties`-object containing all the markupAttributes.

  Specified by:
    `getMarkupAttributes` in interface `MarkupAttributes`
  Returns:
    `Properties`
  See Also:
    `MarkupAttributes.getMarkupAttributes()`