Class Area

  • All Implemented Interfaces:
    NodeParser, com.inet.report.ReferenceHolder, java.io.Serializable

    public class Area
    extends Region
    The Area element of the Runtime Designer Component. The Area class summarizes the Section element(s) into an Area, which makes it possible to change the behavior of all sections together. All sections in an Area have the same characteristics, but each Section in an Area can have a different format. Each Area contains a single Section by default. The name of the Section is based on the name of the enclosing Area, i.e. "D" if there is only one Section in the detail Area. If an Area has more than one Section the names are formed by appending letters of the alphabet, e.g. "Da" for the first Section in the detail Area, "Db" for the second, "Dc" for the third and so on.
    ` The Section with index "0" in an Area is always the default Section and cannot be removed if it is the only section in the Area, because each Area needs at least one Section.
    Add sections with the addSection() method and remove sections with the removeSection(int) method. You can access a Section with the index of the Section, using the method getSection(int). You can get the number of sections in an Area with getSectionCount(). You can merge a Section with the Section below with method mergeSectionBelow(int).
    This class is part of the RDC.
    Since:
    1.0
    See Also:
    Section, Engine.getArea(int), Engine.getArea(String), Engine.getAreaCount(), Serialized Form
    • Method Detail

      • getParent

        public java.lang.Object getParent()
        Returns the parent Group if there is one, or null if there is not.
        Returns:
        the parent Group if there is one, or null if there is not.
        Since:
        3.0
        See Also:
        Group
      • indexOf

        public int indexOf()
        Returns the current index of this area in the engine.
        Specified by:
        indexOf in class ReportComponent
        Returns:
        The current index of this area in the engine.
        Throws:
        java.lang.IllegalStateException - Thrown if this area was not found in parent engine.
        Since:
        6.0
        See Also:
        Engine.getArea(int)
      • setBackColor

        public void setBackColor​(int backColor)
        Does nothing since an Area does not have a background color. However, Sections have background colors.
        Overrides:
        setBackColor in class ReportComponent
        Parameters:
        backColor - Background color (will be ignored)
        Since:
        3.0
        See Also:
        ReportComponent.setBackColor(int)
      • paramString

        public java.lang.String paramString()
        Returns a string identifying this report component. This method is useful for logging and for debugging.
        Overrides:
        paramString in class ReportComponent
        Returns:
        a string identifying the ReportComponent
      • setKeepGroupTogether

        public void setKeepGroupTogether​(boolean newValue)
        Sets the value of the property 'keep group together'. Use this property to keep the group from breaking across pages.
        Parameters:
        newValue - The new value of the property 'keep group together'.
        Since:
        3.0
      • getSection

        public Section getSection​(int idx)
                           throws java.lang.IndexOutOfBoundsException
        Returns a SectionElement of the area. The index specifies the returned SectionElement.
        Parameters:
        idx - The index of the Section which should be returned
        Returns:
        Section specified by the 0-based index.
        Throws:
        java.lang.IndexOutOfBoundsException - Thrown if the given index is less than 0 or is greater than the number of sections in this Area.
        Since:
        1.0
      • getSectionCount

        public int getSectionCount()
        Returns the number of Sections in this Area.
        Returns:
        The number of all Sections in this Area.
        Since:
        3.0
      • addSection

        public Section addSection()
        Adds a new Section to the area. The Method addSection() creates a new Section and adds this to the area's sections set. The type (kind) of the Section is the same as the type (kind) of the area. The created Section is returned, if creation was successful, else an exception is thrown and a null reference is returned.
        Returns:
        Returns the added Section.
        Since:
        1.0
        See Also:
        Section
      • removeSection

        public Section removeSection​(int idx)
                              throws ReportException,
                                     java.lang.IndexOutOfBoundsException
        Removes the Section with specified index from area. The method remove returns a reference to the removed Section, if removal was succsessful. Else remove throws an exception and returns a null reference.
        Parameters:
        idx - The 0-based index of the Section, which should be removed. Should an index into this sections set.
        Returns:
        Returns the Section which was removed from sections set.
        Throws:
        ReportException - is thrown if Section set was empty or last Section in set should be removed.
        java.lang.IndexOutOfBoundsException - Thrown if the given index is less than 0 or is greater than the number of sections in this Area.
        Since:
        1.0
        See Also:
        Section
      • mergeSectionBelow

        public void mergeSectionBelow​(int idx)
        When you have multiple sections in an area you can merge a Section with the Section below, i.e. when you have sections Da, Db, Dc you can merge Section Da with Db and Section Db with Dc. The elements of the Section below will be placed below the elements of the Section with the given index. The resulting area has one Section less after merge. Calling the method with the index of the last Section in area, a ReportException will be thrown.
        Parameters:
        idx - The 0-based index of the Section, which should be merged with the Section below (idx+1).
        Throws:
        java.lang.IllegalArgumentException - is thrown if Section set was empty or last Section in set should be merged.
        Since:
        2.0
      • moveSection

        public void moveSection​(int srcIdx,
                                int destIdx)
        When you have multiple sections in an area you can move a Section to a place below or above an other Section.
        Parameters:
        srcIdx - The index of the Section, which should be moved.
        destIdx - The index of the Section where the Section (at srcIdx) should be placed.
        Throws:
        java.lang.IndexOutOfBoundsException - If one of the indexes is greater than the number of sections.
        Since:
        2.0
      • setReferences

        public void setReferences()
        FOR INTERNAL USE ONLY
        Specified by:
        setReferences in interface com.inet.report.ReferenceHolder
        Overrides:
        setReferences in class ReportComponent
        Since:
        6.0
      • resetReferences

        public void resetReferences()
        FOR INTERNAL USE ONLY
        Specified by:
        resetReferences in interface com.inet.report.ReferenceHolder
        Overrides:
        resetReferences in class ReportComponent
        Since:
        6.0
      • parseElement

        public NodeParser parseElement​(com.inet.report.parser.XMLTag group,
                                       java.lang.String tag,
                                       org.xml.sax.Attributes atts,
                                       java.util.Map<java.lang.String,​java.lang.Object> parserMap)
                                throws FatalParserException
        FOR INTERNAL USE ONLY FOR INTERNAL USE ONLY FOR INTERNAL USE ONLY Internal method for reading report XML

        Parses an XML node with the given information, and returns either a sub-element which was created as a result, or null if no sub-element was created, i.e. the information was applied to the ReportComponent itself. Note that the parsing is highly tolerant, i.e. exceptions are intercepted and suppressed if at all possible.

        Specified by:
        parseElement in interface NodeParser
        Overrides:
        parseElement in class Region
        Parameters:
        group - XMLTag of the current node to be parsed, or null if there is no such current group. An XMLTag is a group of nodes bundled together, usually it is a Properties node such as CommonProperties, BorderProperties, etc.
        tag - The XMLTag to be parsed
        atts - The set of attributes in the current XMLTag
        parserMap - The map of current Parser.
        Returns:
        The NodeParser sub-element if one needed to be created, or null if none was created.
        Throws:
        FatalParserException - if an exception occurs which causes the report to not be able to be read: causes the abortion of the reading of the report.
      • parseEndElement

        public void parseEndElement​(com.inet.report.parser.XMLTag group,
                                    java.lang.String tag,
                                    java.util.Map<java.lang.String,​java.lang.Object> parserMap)
                             throws FatalParserException
        FOR INTERNAL USE ONLY FOR INTERNAL USE ONLY Internal method for reading report XML

        Receive notification of the end of an XML tag.

        Specified by:
        parseEndElement in interface NodeParser
        Overrides:
        parseEndElement in class ReportComponent
        Parameters:
        group - XMLTag of the current node to be parsed, or null if there is no such current group.
        tag - The XMLTag to be parsed
        parserMap - The map of current Parser.
        Throws:
        FatalParserException - if an exception occurs which causes the report to not be able to be read: causes the abortion of the reading of the report.
      • parseText

        public void parseText​(java.lang.String text,
                              java.util.Map<java.lang.String,​java.lang.Object> parserMap)
        FOR INTERNAL USE ONLY FOR INTERNAL USE ONLY Internal method for reading report XML

        This method is called if text was encountered in the context of this node. (Examples would be a formula's text or a text element's text)

        Specified by:
        parseText in interface NodeParser
        Overrides:
        parseText in class ReportComponent
        Parameters:
        text - text encountered and to be stored
        parserMap - The map of current Parser.
      • getSubComponents

        public java.util.List<Section> getSubComponents()
        Returns all ReportComponents that are descendants of this one. E.G. this will return all Element of a Section. But it's as well useful for CrossTabs or Text elements which have additional elements.
        Specified by:
        getSubComponents in class ReportComponent
        Returns:
        a list with all sub components which can be empty as well; will be null if the component has no descendants