Class Area

All Implemented Interfaces:
NodeParser, com.inet.report.ReferenceHolder, 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:
  • Method Details

    • getParent

      public 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:
    • 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:
      IllegalStateException - Thrown if this area was not found in parent engine.
      Since:
      6.0
      See Also:
    • getBackColor

      public int getBackColor()
      Returns RDC.COLOR_NO_COLOR since an Area does not have a background color. However, Sections have background colors.
      Overrides:
      getBackColor in class ReportComponent
      Returns:
      Always RDC.COLOR_NO_COLOR since an Area does not have a background color
      Since:
      3.0
      See Also:
    • getBackColorFormula

      public FormulaField getBackColorFormula()
      Returns null since an Area does not have a background color formula. However, Sections have a background color formula.
      Overrides:
      getBackColorFormula in class ReportComponent
      Returns:
      null since an Area does not have a background color formula
      Since:
      3.0
      See Also:
    • 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:
    • setBackColorFormula

      public void setBackColorFormula(FormulaField newFormula)
      Does nothing since an Area does not have a background color formula. However, Sections have a background color formula.
      Overrides:
      setBackColorFormula in class ReportComponent
      Parameters:
      newFormula - Formula field (will be ignored)
      Since:
      3.0
      See Also:
    • paramString

      public 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 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:
      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:
    • removeSection

      public Section removeSection(int idx) throws ReportException, 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.
      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:
    • 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:
      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:
      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, String tag, Attributes atts, Map<String,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, String tag, Map<String,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(String text, Map<String,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 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
    • getPropertyFormulas

      public List<FormulaField> getPropertyFormulas()
      Returns a list with all property formulas that are set for this report element. This includes property formulas for any type of sub-component but excludes formulas for any descendant ReportComponent of this one. To get the property formulas for descendant ReportComponent use ReportComponent.getSubComponents()
      Overrides:
      getPropertyFormulas in class Region
      Returns:
      List of property formulas