Class Section

  • All Implemented Interfaces:
    Indentable, Element, LargeElement, IAccessibleElement, TextElementArray, java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<Element>, java.util.Collection<Element>, java.util.List<Element>, java.util.RandomAccess
    Direct Known Subclasses:
    Chapter

    public class Section
    extends java.util.ArrayList<Element>
    implements TextElementArray, LargeElement, Indentable, IAccessibleElement
    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 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 java.lang.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 java.util.ArrayList<java.lang.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 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 java.util.List<Chunk> 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,
                        Element element)
        Adds a Paragraph, List or Table to this Section.
        Specified by:
        add in interface java.util.List<Element>
        Overrides:
        add in class java.util.ArrayList<Element>
        Parameters:
        index - index at which the specified element is to be inserted
        element - an element of type Paragraph, List or Table=
        Throws:
        java.lang.ClassCastException - if the object is not a Paragraph, List or Table
        Since:
        5.0.1 (signature changed to use Element)
      • add

        public boolean add​(Element element)
        Adds a Paragraph, List, Table or another Section to this Section.
        Specified by:
        add in interface java.util.Collection<Element>
        Specified by:
        add in interface java.util.List<Element>
        Specified by:
        add in interface TextElementArray
        Overrides:
        add in class java.util.ArrayList<Element>
        Parameters:
        element - an element 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
        Since:
        5.0.1 (signature changed to use Element)
      • addAll

        public boolean addAll​(java.util.Collection<? extends Element> collection)
        Adds a collection of Elements to this Section.
        Specified by:
        addAll in interface java.util.Collection<Element>
        Specified by:
        addAll in interface java.util.List<Element>
        Overrides:
        addAll in class java.util.ArrayList<Element>
        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
      • addMarkedSection

        protected MarkedSection addMarkedSection()
        Adds a marked section. For use in class MarkedSection only!
        Returns:
        the 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,
                                  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
      • 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,
                                               java.util.ArrayList<java.lang.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
      • 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
        Parameters:
        numberStyle - the style to use
        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.
        Specified by:
        setIndentationLeft in interface Indentable
        Parameters:
        indentation - the indentation
      • getIndentationLeft

        public float getIndentationLeft()
        Returns the indentation of this Section on the left side.
        Specified by:
        getIndentationLeft in interface Indentable
        Returns:
        the indentation
      • setIndentationRight

        public void setIndentationRight​(float indentation)
        Sets the indentation of this Section on the right side.
        Specified by:
        setIndentationRight in interface Indentable
        Parameters:
        indentation - the indentation
      • getIndentationRight

        public float getIndentationRight()
        Returns the indentation of this Section on the right side.
        Specified by:
        getIndentationRight in interface Indentable
        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​(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
      • getBookmarkTitle

        public Paragraph getBookmarkTitle()
        Gets the bookmark title.
        Returns:
        the bookmark title
      • setChapterNumber

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

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

        private void setNumbers​(int number,
                                java.util.ArrayList<java.lang.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 -
        Since:
        iText2.0.8
      • isAddedCompletely

        protected boolean isAddedCompletely()
        Returns:
        return the addedCompletely value
        Since:
        iText 2.0.8
      • setAddedCompletely

        protected void setAddedCompletely​(boolean addedCompletely)
        Parameters:
        addedCompletely - true if section was completely added, false otherwise
        Since:
        iText 2.0.8
      • 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
      • setRole

        public void setRole​(PdfName role)
        Description copied from interface: IAccessibleElement
        Sets the role of the accessiblee element. Set role to null if you don't want to tag this element. Note that all child elements won't also be tagged.
        Specified by:
        setRole in interface IAccessibleElement