Class Section

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable
    Direct Known Subclasses:
    DetailSection, Group, ReportDefinition

    public class Section
    extends Element
    A report section is a collection of other elements and sections.

    This implementation is not synchronized, to take care that you externally synchronize it when using multiple threads to modify instances of this class.

    Trying to add a parent of an band as child to the band, will result in an exception.

    The attribute and style expressions added to the element are considered unnamed and stateless. To define a named, statefull state expression, one would create an ordinary named expression or function and would then reference that expression from within a style or attribute expression.

    Author:
    Thomas Morgner
    See Also:
    Serialized Form
    • Constructor Detail

      • Section

        public Section()
        Constructs a new band (initially empty).
    • Method Detail

      • addNode

        public void addNode​(Node element)
        Adds a report element to the band.
        Parameters:
        element - the element that should be added
        Throws:
        java.lang.NullPointerException - if the given element is null
        java.lang.IllegalArgumentException - if the position is invalid, either negative or greater than the number of elements in this band or if the given element is a parent of this element.
      • addNode

        public void addNode​(int position,
                            Node element)
        Adds a report element to the band. The element will be inserted at the specified position.
        Parameters:
        position - the position where to insert the element
        element - the element that should be added
        Throws:
        java.lang.NullPointerException - if the given element is null
        java.lang.IllegalArgumentException - if the position is invalid, either negative or greater than the number of elements in this band or if the given element is a parent of this element.
      • addNodes

        public void addNodes​(java.util.Collection elements)
        Adds a collection of elements to the band.
        Parameters:
        elements - the element collection.
        Throws:
        java.lang.NullPointerException - if one of the given elements is null
        java.lang.IllegalArgumentException - if one of the given element is a parent of this element.
      • getElementByName

        public Element getElementByName​(java.lang.String name)
        Returns the first element in the list that is known by the given name.
        Parameters:
        name - the element name.
        Returns:
        the first element with the specified name, or null if there is no such element.
        Throws:
        java.lang.NullPointerException - if the given name is null.
      • removeNode

        public void removeNode​(Node e)
        Removes an element from the band.
        Parameters:
        e - the element to be removed.
        Throws:
        java.lang.NullPointerException - if the given element is null.
      • getNodes

        public java.util.List getNodes()
        Deprecated.
        use getElementArray() instead.
        Returns all child-elements of this band as immutable list.
        Returns:
        an immutable list of all registered elements for this band.
      • getNodeCount

        public int getNodeCount()
        Returns the number of elements in this band.
        Returns:
        the number of elements of this band.
      • getNodeArray

        public Node[] getNodeArray()
        Returns an array of the elements in the band. If the band is empty, an empty array is returned.

        For performance reasons, a shared cached instance is returned. Do not modify the returned array or live with the consquences.

        Returns:
        the elements.
      • getNode

        public Node getNode​(int index)
        Returns the element stored add the given index.
        Parameters:
        index - the element position within this band
        Returns:
        the element
        Throws:
        java.lang.IndexOutOfBoundsException - if the index is invalid.
      • toString

        public java.lang.String toString()
        Returns a string representation of the band and all the elements it contains, useful mainly for debugging purposes.
        Overrides:
        toString in class java.lang.Object
        Returns:
        a string representation of this band.
      • isRepeat

        public boolean isRepeat()
      • setRepeat

        public void setRepeat​(boolean repeat)
      • findFirstChild

        public Element findFirstChild​(java.lang.String uri,
                                      java.lang.String tagName)
      • clone

        public java.lang.Object clone()
                               throws java.lang.CloneNotSupportedException
        Overrides:
        clone in class Element
        Throws:
        java.lang.CloneNotSupportedException