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, LargeElement, TextElementArray, Serializable, Cloneable, Iterable, Collection, List, RandomAccess
Direct Known Subclasses:
Chapter

public class Section
extends ArrayList
implements TextElementArray, LargeElement

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 addedCompletely
          Indicates if the Section was added completely to the document.
protected  boolean bookmarkOpen
          false if the bookmark children are not visible
protected  String bookmarkTitle
          The bookmark title if different from the content title
protected  boolean complete
          Indicates if the Section will be complete once added to the document.
protected  float indentation
          The additional indentation of the content of this section.
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  boolean notAddedYet
          Indicates if this is the first time the section was added.
protected  int numberDepth
          The number of sectionnumbers that has to be shown before the section title.
protected  ArrayList numbers
          This is the complete list of sectionnumbers of this section and the parents of this section.
protected  int numberStyle
          The style for sectionnumbers.
static int NUMBERSTYLE_DOTTED
          A possible number style.
static int NUMBERSTYLE_DOTTED_WITHOUT_FINAL_DOT
          A possible number style.
private static long serialVersionUID
          A serial version uid.
protected  int subsections
          This is the number of subsections.
protected  Paragraph title
          The title of this section.
protected  boolean triggerNewPage
          true if the section has to trigger a new page
 
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, HEADER, IMGRAW, IMGTEMPLATE, JBIG2, JPEG, JPEG2000, KEYWORDS, LIST, LISTITEM, MARKED, MULTI_COLUMN_TEXT, PARAGRAPH, PHRASE, PRODUCER, PTABLE, RECTANGLE, ROW, SECTION, SUBJECT, TABLE, TITLE, YMARK
 
Constructor Summary
protected Section()
          Constructs a new Section.
protected Section(Paragraph title, int numberDepth)
          Constructs a new Section.
 
Method Summary
 void add(int index, Object o)
          Adds a Paragraph, List or Table to this Section.
 boolean add(Object o)
          Adds a Paragraph, List, Table or another Section to this Section.
 boolean addAll(Collection collection)
          Adds a collection of Elements to this Section.
 MarkedSection addMarkedSection()
          Adds a marked 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, String title)
          Adds a Section to this Section and returns it.
 Section addSection(float indentation, 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(String title)
          Adds a Section to this Section and returns it.
 Section addSection(String title, int numberDepth)
          Adds a Section to this Section and returns it.
static Paragraph constructTitle(Paragraph title, ArrayList numbers, int numberDepth, int numberStyle)
          Constructs a Paragraph that will be used as title for a Section or Chapter.
 void flushContent()
          Flushes the content that has been added.
 Paragraph getBookmarkTitle()
          Gets the bookmark title.
 ArrayList getChunks()
          Gets all the chunks in this element.
 int getDepth()
          Returns the depth of this section.
 float getIndentation()
          Returns the indentation of the content of this Section.
 float getIndentationLeft()
          Returns the indentation of this Section on the left side.
 float getIndentationRight()
          Returns the indentation of this Section on the right side.
 int getNumberDepth()
          Returns the numberdepth of this Section.
 int getNumberStyle()
          Gets the style used for numbering sections.
 Paragraph getTitle()
          Returns the title, preceded by a certain number of sectionnumbers.
protected  boolean isAddedCompletely()
           
 boolean isBookmarkOpen()
          Getter for property bookmarkOpen.
 boolean isChapter()
          Checks if this object is a Chapter.
 boolean isComplete()
          Indicates if the element is complete or not.
 boolean isContent()
          Checks if this element is a content object.
 boolean isNestable()
          Checks if this element is nestable.
 boolean isNotAddedYet()
          Indicates if this is the first time the section is added.
 boolean isSection()
          Checks if this object is a Section.
 boolean isTriggerNewPage()
          Getter for property bookmarkOpen.
 void newPage()
          Adds a new page to the section.
 boolean process(ElementListener listener)
          Processes the element by adding it (or the different parts) to an ElementListener.
protected  void setAddedCompletely(boolean addedCompletely)
           
 void setBookmarkOpen(boolean bookmarkOpen)
          Setter for property bookmarkOpen.
 void setBookmarkTitle(String bookmarkTitle)
          Sets the bookmark title.
 void setChapterNumber(int number)
          Changes the Chapter number.
 void setComplete(boolean complete)
          If you invoke setComplete(false), you indicate that the content of the object isn't complete yet; it can be added to the document partially, but more will follow.
 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 setNotAddedYet(boolean notAddedYet)
          Sets the indication if the section was already added to the document.
 void setNumberDepth(int numberDepth)
          Sets the depth of the sectionnumbers that will be shown preceding the title.
private  void setNumbers(int number, ArrayList numbers)
          Sets the number of this section.
 void setNumberStyle(int numberStyle)
          Sets the style for numbering sections.
 void setTitle(Paragraph title)
          Sets the title of this section.
 void setTriggerNewPage(boolean triggerNewPage)
          Setter for property triggerNewPage.
 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, 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

NUMBERSTYLE_DOTTED

public static final int NUMBERSTYLE_DOTTED
A possible number style. The default number style: "1.2.3."

Since:
iText 2.0.8
See Also:
Constant Field Values

NUMBERSTYLE_DOTTED_WITHOUT_FINAL_DOT

public static final int NUMBERSTYLE_DOTTED_WITHOUT_FINAL_DOT
A possible number style. For instance: "1.2.3"

Since:
iText 2.0.8
See Also:
Constant Field Values

serialVersionUID

private static final long serialVersionUID
A serial version uid.

See Also:
Constant Field Values

title

protected Paragraph title
The title of this section.


bookmarkTitle

protected String bookmarkTitle
The bookmark title if different from the content title


numberDepth

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


numberStyle

protected int numberStyle
The style for sectionnumbers.

Since:
iText 2.0.8

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.


indentation

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


bookmarkOpen

protected boolean bookmarkOpen
false if the bookmark children are not visible


triggerNewPage

protected boolean triggerNewPage
true if the section has to trigger a new page


subsections

protected int subsections
This is the number of subsections.


numbers

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


complete

protected boolean complete
Indicates if the Section will be complete once added to the document.

Since:
iText 2.0.8

addedCompletely

protected boolean addedCompletely
Indicates if the Section was added completely to the document.

Since:
iText 2.0.8

notAddedYet

protected boolean notAddedYet
Indicates if this is the first time the section was added.

Since:
iText 2.0.8
Constructor Detail

Section

protected Section()
Constructs a new Section.


Section

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

Parameters:
title - a Paragraph
numberDepth - the numberDepth
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 - 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

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.

getChunks

public ArrayList getChunks()
Gets all the chunks in this element.

Specified by:
getChunks in interface Element
Returns:
an ArrayList

isContent

public boolean isContent()
Description copied from interface: Element
Checks if this element is a content object. If not, it's a metadata object.

Specified by:
isContent in interface Element
Returns:
true if this is a 'content' element; false if this is a 'metadata' element
Since:
iText 2.0.8
See Also:
Element.isContent()

isNestable

public boolean isNestable()
Description copied from interface: Element
Checks if this element is nestable.

Specified by:
isNestable in interface Element
Returns:
true if this element can be nested inside other elements.
Since:
iText 2.0.8
See Also:
Element.isNestable()

add

public void add(int index,
                Object o)
Adds a Paragraph, List or Table to this Section.

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

add

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

Specified by:
add in interface TextElementArray
Specified by:
add in interface Collection
Specified by:
add in interface List
Overrides:
add in class ArrayList
Parameters:
o - an object of type Paragraph, List, Table or another Section
Returns:
a boolean
Throws:
ClassCastException - if the object is not a Paragraph, List, Table or Section

addAll

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

Specified by:
addAll in interface Collection
Specified by:
addAll in interface List
Overrides:
addAll in class ArrayList
Parameters:
collection - a collection of Paragraphs, Lists and/or Tables
Returns:
true if the action succeeded, false if not.
Throws:
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

addMarkedSection

public MarkedSection addMarkedSection()
Adds a marked section. For use in class MarkedSection only!


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,
                          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(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,
                          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(String title)
Adds a Section to this Section and returns it.

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

setTitle

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

Parameters:
title - the new title

getTitle

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

Returns:
a Paragraph

constructTitle

public static Paragraph constructTitle(Paragraph title,
                                       ArrayList numbers,
                                       int numberDepth,
                                       int numberStyle)
Constructs a Paragraph that will be used as title for a Section or Chapter.

Parameters:
title - the title of the section
numbers - a list of sectionnumbers
numberDepth - how many numbers have to be shown
numberStyle - the numbering style
Returns:
a Paragraph object
Since:
iText 2.0.8

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

getNumberDepth

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

Returns:
the numberdepth

setNumberStyle

public void setNumberStyle(int numberStyle)
Sets the style for numbering sections. Possible values are NUMBERSTYLE_DOTTED: 1.2.3. (the default) or NUMBERSTYLE_DOTTED_WITHOUT_FINAL_DOT: 1.2.3

Since:
iText 2.0.8

getNumberStyle

public int getNumberStyle()
Gets the style used for numbering sections.

Returns:
a value corresponding with a numbering style
Since:
iText 2.0.8

setIndentationLeft

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

Parameters:
indentation - the indentation

getIndentationLeft

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

Returns:
the indentation

setIndentationRight

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

Parameters:
indentation - the indentation

getIndentationRight

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

Returns:
the indentation

setIndentation

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

Parameters:
indentation - the indentation

getIndentation

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

Returns:
the indentation

setBookmarkOpen

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

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

isBookmarkOpen

public boolean isBookmarkOpen()
Getter for property bookmarkOpen.

Returns:
Value of property bookmarkOpen.

setTriggerNewPage

public void setTriggerNewPage(boolean triggerNewPage)
Setter for property triggerNewPage.

Parameters:
triggerNewPage - true if a new page has to be triggered.

isTriggerNewPage

public boolean isTriggerNewPage()
Getter for property bookmarkOpen.

Returns:
Value of property triggerNewPage.

setBookmarkTitle

public void setBookmarkTitle(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

getBookmarkTitle

public Paragraph getBookmarkTitle()
Gets the bookmark title.

Returns:
the bookmark title

setChapterNumber

public void setChapterNumber(int number)
Changes the Chapter number.


getDepth

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

Returns:
the depth

setNumbers

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

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

isNotAddedYet

public boolean isNotAddedYet()
Indicates if this is the first time the section is added.

Returns:
true if the section wasn't added yet
Since:
iText2.0.8

setNotAddedYet

public void setNotAddedYet(boolean notAddedYet)
Sets the indication if the section was already added to the document.

Parameters:
notAddedYet -
Since:
iText2.0.8

isAddedCompletely

protected boolean isAddedCompletely()
Since:
iText 2.0.8

setAddedCompletely

protected void setAddedCompletely(boolean addedCompletely)
Since:
iText 2.0.8

flushContent

public void flushContent()
Description copied from interface: LargeElement
Flushes the content that has been added.

Specified by:
flushContent in interface LargeElement
Since:
iText 2.0.8
See Also:
LargeElement.flushContent()

isComplete

public boolean isComplete()
Description copied from interface: LargeElement
Indicates if the element is complete or not.

Specified by:
isComplete in interface LargeElement
Returns:
indicates if the element is complete according to the user.
Since:
iText 2.0.8
See Also:
LargeElement.isComplete()

setComplete

public void setComplete(boolean complete)
Description copied from interface: LargeElement
If you invoke setComplete(false), you indicate that the content of the object isn't complete yet; it can be added to the document partially, but more will follow. If you invoke setComplete(true), you indicate that you won't add any more data to the object.

Specified by:
setComplete in interface LargeElement
Parameters:
complete - false if you'll be adding more data after adding the object to the document.
Since:
iText 2.0.8
See Also:
LargeElement.setComplete(boolean)

newPage

public void newPage()
Adds a new page to the section.

Since:
2.1.1

Hosted by Hostbasket