com.lowagie.text

Class List

Implemented Interfaces:
Element, MarkupAttributes, TextElementArray
Known Direct Subclasses:
GreekList, RomanList, ZapfDingbatsList, ZapfDingbatsNumberList

public class List
extends java.lang.Object
implements TextElementArray, MarkupAttributes

A List contains several ListItems.

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:
See Also:
Element, ListItem

Field Summary

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 ArrayList
list
This is the ArrayList containing the different ListItems.
protected Properties
markupAttributes
Contains extra markupAttributes
protected boolean
numbered
This variable indicates if the list has to be numbered.
protected Chunk
symbol
This is the listsymbol of a list that is not numbered.
protected float
symbolIndent
The indentation of the listitems.

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, CCITTG3_1D, CCITTG3_2D, CCITTG4, CCITT_BLACKIS1, CCITT_ENCODEDBYTEALIGN, CCITT_ENDOFBLOCK, CCITT_ENDOFLINE, 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(Properties attributes)
Returns a List that has been constructed taking in account the value of some attributes.
List(boolean numbered, boolean lettered, float symbolIndent)
Creates a list
List(boolean numbered, float symbolIndent)
Constructs a List.

Method Summary

boolean
add(Object o)
Adds an Object to the List.
int
first()
Gets the first number .
ArrayList
getChunks()
Gets all the chunks in this element.
ArrayList
getItems()
Gets all the items in the list.
String
getMarkupAttribute(String name)
Set
getMarkupAttributeNames()
Properties
getMarkupAttributes()
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(String tag)
Checks if a given tag corresponds with the listsymbol tag of this object.
static boolean
isTag(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 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(String symbol)
Sets the listsymbol.
void
setListSymbol(Chunk symbol)
Sets the listsymbol.
void
setMarkupAttribute(String name, String value)
void
setMarkupAttributes(Properties 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.

Field Details

first

protected int first
This variable indicates the first number of a numbered list.

firstCh

protected char firstCh

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.

lastCh

protected char lastCh

lettered

protected boolean lettered

list

protected ArrayList list
This is the ArrayList containing the different ListItems.

markupAttributes

protected Properties markupAttributes
Contains extra markupAttributes

numbered

protected boolean numbered
This variable indicates if the list has to be numbered.

symbol

protected Chunk symbol
This is the listsymbol of a list that is not numbered.

symbolIndent

protected float symbolIndent
The indentation of the listitems.

Constructor Details

List

public List(Properties attributes)
Returns a List that has been constructed taking in account the value of some attributes.
Parameters:
attributes - Some attributes

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

Method Details

add

public boolean add(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

first

public int first()
Gets the first number .
Returns:
a number

getChunks

public ArrayList getChunks()
Gets all the chunks in this element.
Specified by:
getChunks in interface Element
Returns:
an ArrayList

getItems

public ArrayList getItems()
Gets all the items in the list.
Returns:
an ArrayList containing ListItems.

getMarkupAttribute

public String getMarkupAttribute(String name)
Specified by:
getMarkupAttribute in interface MarkupAttributes
See Also:
com.lowagie.text.MarkupAttributes.getMarkupAttribute(java.lang.String)

getMarkupAttributeNames

public Set getMarkupAttributeNames()
Specified by:
getMarkupAttributeNames in interface MarkupAttributes

getMarkupAttributes

public Properties getMarkupAttributes()
Specified by:
getMarkupAttributes in interface MarkupAttributes

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

isNumbered

public boolean isNumbered()
Checks if the list is numbered.
Returns:
true if the list is numbered, false otherwise.

isSymbol

public static boolean isSymbol(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(String tag)
Checks if a given tag corresponds with this object.
Parameters:
tag - the given tag
Returns:
true if the tag corresponds

leading

public float leading()
Gets the leading of the first listitem.
Returns:
a leading

listItemsInList

private int listItemsInList()
Counts the number of ListItems in the list ommiting nested lists
Returns:
Integer number of ListItems in the list

nextLetter

private String nextLetter()
Retrieves the next letter in the sequence
Returns:
String contains the next character (A-Z or a-z)

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

setFirst

public void setFirst(char first)
Sets the Letter that has to come first in the list.
Parameters:
first - a letter

setFirst

public void setFirst(int first)
Sets the number that has to come first in the list.
Parameters:
first - a number

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

setListSymbol

public void setListSymbol(String symbol)
Sets the listsymbol.

This is a shortcut for setListSymbol(Chunk symbol).

Parameters:
symbol - a String

setListSymbol

public void setListSymbol(Chunk symbol)
Sets the listsymbol.
Parameters:
symbol - a Chunk

setMarkupAttribute

public void setMarkupAttribute(String name,
                               String value)
Specified by:
setMarkupAttribute in interface MarkupAttributes
See Also:
com.lowagie.text.MarkupAttributes.setMarkupAttribute(java.lang.String, java.lang.String)

setMarkupAttributes

public void setMarkupAttributes(Properties markupAttributes)
Specified by:
setMarkupAttributes in interface MarkupAttributes
See Also:
com.lowagie.text.MarkupAttributes.setMarkupAttributes(java.util.Properties)

size

public int size()
Gets the size of the list.
Returns:
a size

symbol

public Chunk symbol()
Gets the Chunk containing the symbol.
Returns:
a Chunk with a symbol

symbolIndent

public float symbolIndent()
Gets the symbol indentation.
Returns:
the symbol indentation

type

public int type()
Gets the type of the text element.
Specified by:
type in interface Element
Returns:
a type