com.lowagie.text
Class Section

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by java.util.ArrayList
              extended by com.lowagie.text.Section
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:
Chapter

public class Section
extends java.util.ArrayList
implements TextElementArray

A Section is a part of a Document containing other Sections, Paragraphs, List and/or Tables.

Remark: you can not construct a Section yourself. You will have to ask an instance of Section to the Chapter or Section to which you want to add the new Section.

Example:

 Paragraph title2 = new Paragraph("This is Chapter 2", FontFactory.getFont(FontFactory.HELVETICA, 18, Font.BOLDITALIC, new Color(0, 0, 255)));
 Chapter chapter2 = new Chapter(title2, 2);
 Paragraph someText = new Paragraph("This is some text");
 chapter2.add(someText);
 Paragraph title21 = new Paragraph("This is Section 1 in Chapter 2", FontFactory.getFont(FontFactory.HELVETICA, 16, Font.BOLD, new Color(255, 0, 0)));
 Section section1 = chapter2.addSection(title21);
 Paragraph someSectionText = new Paragraph("This is some silly paragraph in a chapter and/or section. It contains some text to test the functionality of Chapters and Section.");
 section1.add(someSectionText);
 Paragraph title211 = new Paragraph("This is SubSection 1 in Section 1 in Chapter 2", FontFactory.getFont(FontFactory.HELVETICA, 14, Font.BOLD, new Color(255, 0, 0)));
 Section section11 = section1.addSection(40, title211, 2);
 section11.add(someSectionText);
 

See Also:
Serialized Form

Field Summary
protected  boolean bookmarkOpen
          false if the bookmark children are not visible
protected  java.lang.String bookmarkTitle
          The bookmark title if different from the content title
protected  float indentationLeft
          The indentation of this section on the left side.
protected  float indentationRight
          The indentation of this section on the right side.
protected  int numberDepth
          This is the number of sectionnumbers that has to be shown before the section title.
protected  java.util.ArrayList numbers
          This is the complete list of sectionnumbers of this section and the parents of this section.
protected  float sectionIndent
          The additional indentation of the content of this section.
protected  int subsections
          This is the number of subsections.
protected  Paragraph title
          This is the title of this section.
 
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, GRAPHIC, HEADER, IMGRAW, IMGTEMPLATE, JPEG, KEYWORDS, LIST, LISTITEM, MULTI_COLUMN_TEXT, PARAGRAPH, PHRASE, PRODUCER, PTABLE, RECTANGLE, ROW, SECTION, SUBJECT, TABLE, TITLE
 
Constructor Summary
protected Section()
          Constructs a new Section.
(package private) Section(Paragraph title, int numberDepth)
          Constructs a new Section.
 
Method Summary
 void add(int index, java.lang.Object o)
          Adds a Paragraph, List or Table to this Section.
 boolean add(java.lang.Object o)
          Adds a Paragraph, List, Table or another Section to this Section.
 boolean addAll(java.util.Collection collection)
          Adds a collection of Elements to this Section.
 Section addSection(float indentation, Paragraph title)
          Creates a Section, adds it to this Section and returns it.
 Section addSection(float indentation, Paragraph title, int numberDepth)
          Creates a Section, adds it to this Section and returns it.
 Section addSection(float indentation, java.lang.String title)
          Adds a Section to this Section and returns it.
 Section addSection(float indentation, java.lang.String title, int numberDepth)
          Adds a Section to this Section and returns it.
 Section addSection(Paragraph title)
          Creates a Section, adds it to this Section and returns it.
 Section addSection(Paragraph title, int numberDepth)
          Creates a Section, add it to this Section and returns it.
 Section addSection(java.util.Properties attributes)
          Creates a given Section following a set of attributes and adds it to this one.
 Section addSection(java.lang.String title)
          Adds a Section to this Section and returns it.
 Section addSection(java.lang.String title, int numberDepth)
          Adds a Section to this Section and returns it.
 int depth()
          Returns the depth of this section.
 Paragraph getBookmarkTitle()
          Gets the bookmark title.
 java.util.ArrayList getChunks()
          Gets all the chunks in this element.
 float indentation()
          Returns the indentation of the content of this Section.
 float indentationLeft()
          Returns the indentation of this Section on the left side.
 float indentationRight()
          Returns the indentation of this Section on the right side.
 boolean isBookmarkOpen()
          Getter for property bookmarkOpen.
 boolean isChapter()
          Checks if this object is a Chapter.
 boolean isSection()
          Checks if this object is a Section.
static boolean isTag(java.lang.String tag)
          Checks if a given tag corresponds with this object.
static boolean isTitle(java.lang.String tag)
          Checks if a given tag corresponds with a title tag for this object.
 int numberDepth()
          Returns the numberdepth of this Section.
 boolean process(ElementListener listener)
          Processes the element by adding it (or the different parts) to an ElementListener.
 void set(java.util.Properties attributes)
          Alters the attributes of this Section.
 void setBookmarkOpen(boolean bookmarkOpen)
          Setter for property bookmarkOpen.
 void setBookmarkTitle(java.lang.String bookmarkTitle)
          Sets the bookmark title.
 void setIndentation(float indentation)
          Sets the indentation of the content of this Section.
 void setIndentationLeft(float indentation)
          Sets the indentation of this Section on the left side.
 void setIndentationRight(float indentation)
          Sets the indentation of this Section on the right side.
 void setNumberDepth(int numberDepth)
          Sets the depth of the sectionnumbers that will be shown preceding the title.
private  void setNumbers(int number, java.util.ArrayList numbers)
          Sets the number of this section.
 void setTitle(Paragraph title)
          Sets the title of this section.
 Paragraph title()
          Returns the title, preceeded by a certain number of sectionnumbers.
 int type()
          Gets the type of the text element.
 
Methods inherited from class java.util.ArrayList
addAll, clear, clone, contains, ensureCapacity, get, indexOf, isEmpty, lastIndexOf, remove, remove, removeRange, set, size, toArray, toArray, trimToSize
 
Methods inherited from class java.util.AbstractList
equals, hashCode, iterator, listIterator, listIterator, subList
 
Methods inherited from class java.util.AbstractCollection
containsAll, removeAll, retainAll, 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, iterator, listIterator, listIterator, removeAll, retainAll, subList
 

Field Detail

title

protected Paragraph title
This is the title of this section.


numberDepth

protected int numberDepth
This is the number of sectionnumbers that has to be shown before the section title.


indentationLeft

protected float indentationLeft
The indentation of this section on the left side.


indentationRight

protected float indentationRight
The indentation of this section on the right side.


sectionIndent

protected float sectionIndent
The additional indentation of the content of this section.


subsections

protected int subsections
This is the number of subsections.


numbers

protected java.util.ArrayList numbers
This is the complete list of sectionnumbers of this section and the parents of this section.


bookmarkOpen

protected boolean bookmarkOpen
false if the bookmark children are not visible


bookmarkTitle

protected java.lang.String bookmarkTitle
The bookmark title if different from the content title

Constructor Detail

Section

protected Section()
Constructs a new Section.


Section

Section(Paragraph title,
        int numberDepth)
Constructs a new Section.

Parameters:
title - a Paragraph
numberDepth - the numberDepth
Method Detail

setNumbers

private void setNumbers(int number,
                        java.util.ArrayList numbers)
Sets the number of this section.

Parameters:
number - the number of this section
numbers - an ArrayList, containing the numbers of the Parent

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 - the 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 void add(int index,
                java.lang.Object o)
Adds a Paragraph, List or Table to this Section.

Specified by:
add in interface java.util.List
Overrides:
add in class java.util.ArrayList
Parameters:
index - index at which the specified element is to be inserted
o - an object of type Paragraph, List or Table=
Throws:
java.lang.ClassCastException - if the object is not a Paragraph, List or Table

add

public boolean add(java.lang.Object o)
Adds a Paragraph, List, Table or another Section to this Section.

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 java.util.ArrayList
Parameters:
o - an object of type Paragraph, List, Table or another Section
Returns:
a boolean
Throws:
java.lang.ClassCastException - if the object is not a Paragraph, List, Table or Section

addAll

public boolean addAll(java.util.Collection collection)
Adds a collection of Elements to this Section.

Specified by:
addAll in interface java.util.Collection
Specified by:
addAll in interface java.util.List
Overrides:
addAll in class java.util.ArrayList
Parameters:
collection - a collection of Paragraphs, Lists and/or Tables
Returns:
true if the action succeeded, false if not.
Throws:
java.lang.ClassCastException - if one of the objects isn't a Paragraph, List, Table

addSection

public Section addSection(float indentation,
                          Paragraph title,
                          int numberDepth)
Creates a Section, adds it to this Section and returns it.

Parameters:
indentation - the indentation of the new section
title - the title of the new section
numberDepth - the numberDepth of the section
Returns:
a new Section object

addSection

public Section addSection(float indentation,
                          Paragraph title)
Creates a Section, adds it to this Section and returns it.

Parameters:
indentation - the indentation of the new section
title - the title of the new section
Returns:
a new Section object

addSection

public Section addSection(Paragraph title,
                          int numberDepth)
Creates a Section, add it to this Section and returns it.

Parameters:
title - the title of the new section
numberDepth - the numberDepth of the section
Returns:
a new Section object

addSection

public Section addSection(Paragraph title)
Creates a Section, adds it to this Section and returns it.

Parameters:
title - the title of the new section
Returns:
a new Section object

addSection

public Section addSection(float indentation,
                          java.lang.String title,
                          int numberDepth)
Adds a Section to this Section and returns it.

Parameters:
indentation - the indentation of the new section
title - the title of the new section
numberDepth - the numberDepth of the section
Returns:
a new Section object

addSection

public Section addSection(java.lang.String title,
                          int numberDepth)
Adds a Section to this Section and returns it.

Parameters:
title - the title of the new section
numberDepth - the numberDepth of the section
Returns:
a new Section object

addSection

public Section addSection(float indentation,
                          java.lang.String title)
Adds a Section to this Section and returns it.

Parameters:
indentation - the indentation of the new section
title - the title of the new section
Returns:
a new Section object

addSection

public Section addSection(java.lang.String title)
Adds a Section to this Section and returns it.

Parameters:
title - the title of the new section
Returns:
a new Section object

addSection

public Section addSection(java.util.Properties attributes)
Creates a given Section following a set of attributes and adds it to this one.

Parameters:
attributes - the attributes
Returns:
a Section

set

public void set(java.util.Properties attributes)
Alters the attributes of this Section.

Parameters:
attributes - the attributes

setTitle

public void setTitle(Paragraph title)
Sets the title of this section.

Parameters:
title - the new title

setNumberDepth

public void setNumberDepth(int numberDepth)
Sets the depth of the sectionnumbers that will be shown preceding the title.

If the numberdepth is 0, the sections will not be numbered. If the numberdepth is 1, the section will be numbered with their own number. If the numberdepth is higher (for instance x > 1), the numbers of x - 1 parents will be shown.

Parameters:
numberDepth - the new numberDepth

setIndentationLeft

public void setIndentationLeft(float indentation)
Sets the indentation of this Section on the left side.

Parameters:
indentation - the indentation

setIndentationRight

public void setIndentationRight(float indentation)
Sets the indentation of this Section on the right side.

Parameters:
indentation - the indentation

setIndentation

public void setIndentation(float indentation)
Sets the indentation of the content of this Section.

Parameters:
indentation - the indentation

isChapter

public boolean isChapter()
Checks if this object is a Chapter.

Returns:
true if it is a Chapter, false if it is a Section.

isSection

public boolean isSection()
Checks if this object is a Section.

Returns:
true if it is a Section, false if it is a Chapter.

numberDepth

public int numberDepth()
Returns the numberdepth of this Section.

Returns:
the numberdepth

indentationLeft

public float indentationLeft()
Returns the indentation of this Section on the left side.

Returns:
the indentation

indentationRight

public float indentationRight()
Returns the indentation of this Section on the right side.

Returns:
the indentation

indentation

public float indentation()
Returns the indentation of the content of this Section.

Returns:
the indentation

depth

public int depth()
Returns the depth of this section.

Returns:
the depth

title

public Paragraph title()
Returns the title, preceeded by a certain number of sectionnumbers.

Returns:
a Paragraph

isTitle

public static boolean isTitle(java.lang.String tag)
Checks if a given tag corresponds with a title tag for 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

isBookmarkOpen

public boolean isBookmarkOpen()
Getter for property bookmarkOpen.

Returns:
Value of property bookmarkOpen.

setBookmarkOpen

public void setBookmarkOpen(boolean bookmarkOpen)
Setter for property bookmarkOpen.

Parameters:
bookmarkOpen - false if the bookmark children are not visible.

getBookmarkTitle

public Paragraph getBookmarkTitle()
Gets the bookmark title.

Returns:
the bookmark title

setBookmarkTitle

public void setBookmarkTitle(java.lang.String bookmarkTitle)
Sets the bookmark title. The bookmark title is the same as the section title but can be changed with this method.

Parameters:
bookmarkTitle - the bookmark title