Class Section

All Implemented Interfaces:
Element, LargeElement, TextElementArray, Serializable, Cloneable, Iterable<Element>, Collection<Element>, List<Element>, RandomAccess, SequencedCollection<Element>
Direct Known Subclasses:
Chapter

public class Section extends ArrayList<Element> 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:
  • Field Details

    • 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:
    • 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:
    • serialVersionUID

      private static final long serialVersionUID
      A serial version uid.
      See Also:
    • 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 List<Integer> 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 Details

    • 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 Details

    • constructTitle

      public static Paragraph constructTitle(Paragraph title, List<Integer> 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
    • 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<Element> 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:
    • 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:
    • add

      public void add(int index, Element o)
      Adds a Paragraph, List or Table to this Section.
      Specified by:
      add in interface List<Element>
      Overrides:
      add in class ArrayList<Element>
      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(Element o)
      Adds a Paragraph, List, Table or another Section to this Section.
      Specified by:
      add in interface Collection<Element>
      Specified by:
      add in interface List<Element>
      Specified by:
      add in interface TextElementArray
      Overrides:
      add in class ArrayList<Element>
      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<? extends Element> collection)
      Adds a collection of Elements to this Section.
      Specified by:
      addAll in interface Collection<Element>
      Specified by:
      addAll in interface List<Element>
      Overrides:
      addAll in class ArrayList<Element>
      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!
      Returns:
      an object of MarkedSection
    • 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
    • getTitle

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

      public void setTitle(Paragraph title)
      Sets the title of this section.
      Parameters:
      title - the new title
    • getNumberDepth

      public int getNumberDepth()
      Returns the numberdepth of this Section.
      Returns:
      the numberdepth
    • 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
    • getNumberStyle

      public int getNumberStyle()
      Gets the style used for numbering sections.
      Returns:
      a value corresponding with a numbering style
      Since:
      iText 2.0.8
    • 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
      Parameters:
      numberStyle - numberStyle
      Since:
      iText 2.0.8
    • getIndentationLeft

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

      public void setIndentationLeft(float indentation)
      Sets the indentation of this Section on the left side.
      Parameters:
      indentation - the indentation
    • getIndentationRight

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

      public void setIndentationRight(float indentation)
      Sets the indentation of this Section on the right side.
      Parameters:
      indentation - the indentation
    • getIndentation

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

      public void setIndentation(float indentation)
      Sets the indentation of the content of this Section.
      Parameters:
      indentation - the indentation
    • 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.
    • isTriggerNewPage

      public boolean isTriggerNewPage()
      Getter for property bookmarkOpen.
      Returns:
      Value of property triggerNewPage.
    • setTriggerNewPage

      public void setTriggerNewPage(boolean triggerNewPage)
      Setter for property triggerNewPage.
      Parameters:
      triggerNewPage - true if a new page has to be triggered.
    • getBookmarkTitle

      public Paragraph getBookmarkTitle()
      Gets the bookmark title.
      Returns:
      the bookmark title
    • 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
    • setChapterNumber

      public void setChapterNumber(int number)
      Changes the Chapter number.
      Parameters:
      number - new chapter number
    • getDepth

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

      private void setNumbers(int number, List<Integer> 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 - notAddedYet
      Since:
      iText2.0.8
    • isAddedCompletely

      protected boolean isAddedCompletely()
      Returns:
      boolean, true if section is added completely, else false
      Since:
      iText 2.0.8
    • setAddedCompletely

      protected void setAddedCompletely(boolean addedCompletely)
      Parameters:
      addedCompletely - 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:
    • 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:
    • 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:
    • newPage

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