Class SpecifiedOrder

java.lang.Object
com.inet.report.SpecifiedOrder
All Implemented Interfaces:
NodeParser, Serializable

public class SpecifiedOrder extends Object implements Serializable, NodeParser
This class saved the details of the specified sort order of groups. *
See Also:
  • Field Details

    • OTHER_RECORDS_GROUP_TO_OTHERS

      public static final int OTHER_RECORDS_GROUP_TO_OTHERS
      All not specified values are group together to the group other.
      See Also:
    • OTHER_RECORDS_DISCARD

      public static final int OTHER_RECORDS_DISCARD
      All not specified values are discard and not part of the report.
      See Also:
    • OTHER_RECORDS_LEAVE_IN_OWN_GROUP

      public static final int OTHER_RECORDS_LEAVE_IN_OWN_GROUP
      All not specified values are group in its own groups. The order of this groups is unspecified and can change in future versions.
      See Also:
  • Constructor Details

    • SpecifiedOrder

      public SpecifiedOrder()
      FOR INTERNAL USE ONLY
  • Method Details

    • getCount

      public final int getCount()
      Get the count of specified group values.
      Returns:
      the count of values.
      Since:
      6.0
      See Also:
    • getName

      public String getName(int idx)
      Return the display name of the nth group.
      Parameters:
      idx - index of group value.
      Returns:
      the name of nth group value.
      Throws:
      IllegalArgumentException - if the index is out of range.
      Since:
      6.0
      See Also:
    • getFormula

      public String getFormula(int idx)
      Return the formula of the nth group. The return type of the formula must be BOOLEAN. The formula must return TRUE if a row is part of this group.
      Parameters:
      idx - index of group value.
      Returns:
      the formula of nth group value as String.
      Throws:
      IllegalArgumentException - if the index is out of range.
      Since:
      6.0
      See Also:
    • getFormulaField

      public FormulaField getFormulaField(int idx)
      FOR INTERNAL USE ONLY Returns FormulaField from index
      Parameters:
      idx - the index of formula
      Returns:
      the formula field
      Since:
      6.0
    • add

      public int add(String name, FormulaField formula)
      Add a new group value at the end of the list.
      Parameters:
      name - the display name (null not permitted).
      formula - the filter for this group (null not permitted).
      Returns:
      the index of the new group entry.
      Throws:
      IllegalArgumentException - if the name already exists or name or formula are null
      Since:
      6.0
      See Also:
    • add

      public int add(String name, String formula) throws ReportException
      Add a new group value at the end of the list.
      Parameters:
      name - the display name.
      formula - the filter for this group.
      Returns:
      the index of the new group entry.
      Throws:
      ReportException - formula parse failed.
      IllegalArgumentException - if the name already exists.
      Since:
      6.0
      See Also:
    • findName

      public int findName(String name)
      Find the index of a group with its name.
      Parameters:
      name - the display name of the group.
      Returns:
      returns the index or -1 if not found.
      Since:
      6.0
    • remove

      public void remove(int idx)
      Remove a group entry from this list.
      Parameters:
      idx - the index start at position 0.
      Throws:
      IllegalArgumentException - if the index is out of range.
      Since:
      6.0
      See Also:
    • remove

      public void remove(String name) throws ReportException
      Remove a group entry from this list.
      Parameters:
      name - the display name of the group.
      Throws:
      ReportException - if the name was not found.
      Since:
      6.0
      See Also:
    • move

      public void move(int idx, int offset)
      Move a group entry to another position in the list.
      Parameters:
      idx - the position of the group entry. The index start at 0.
      offset - the count of position that is moved. A value of 0 has no effect.
      Throws:
      IllegalArgumentException - if the index is out of range.
      Since:
      6.0
    • move

      public void move(String name, int offset) throws ReportException
      Move a group entry to another position in the list.
      Parameters:
      name - the name of the group entry.
      offset - the count of position that is moved. A value of 0 has no effect.
      Throws:
      ReportException - if the name was not found.
      Since:
      6.0
    • setFormula

      public void setFormula(int idx, FormulaField formula)
      Set a new formula value on the idx position.
      Parameters:
      idx - the position start at index 0.
      formula - the new formula string (null not permitted).
      Throws:
      IllegalArgumentException - if the index is out of range.
      Since:
      6.0
    • setName

      public void setName(int idx, String name)
      Change the name of a group entry.
      Parameters:
      idx - the index of the group entry starting at 0.
      name - the new name of the group entry (null not permitted).
      Throws:
      IllegalArgumentException - if the name already exists or the index is out of range. or if the name already exists or the index is out of range.
      Since:
      6.0
    • getOtherName

      public String getOtherName()
      Get the display name the other group entry.
      Returns:
      the name for other group values.
      Since:
      6.0
      See Also:
    • setOtherName

      public void setOtherName(String otherName)
      Set display name for the other group entry. This value has only an effect if the type OTHER_RECORDS_GROUP_TO_OTHERS is set.
      Parameters:
      otherName - the new name.
      Throws:
      IllegalArgumentException - if the name is empty or null.
      Since:
      6.0
      See Also:
    • getOtherType

      public int getOtherType()
      Get the type for handling the not specified rows.
      Returns:
      the type of handling.
      Since:
      6.0
      See Also:
    • setOtherType

      public void setOtherType(int otherType)
      Set the type for handling the not specified rows.
      Parameters:
      otherType - the new value.
      Since:
      6.0
      See Also:
    • paramString

      public String paramString()
      Create a String representation of this sort order for debugging.
      Returns:
      the representation.
      Since:
      7.0
    • equals

      public boolean equals(Object object)
      Compares the other object with this. Indicates whether some other object is "equal to" this one.
      Overrides:
      equals in class Object
      Parameters:
      object - the other object
      Returns:
      true if this is equal to other object
      Since:
      8.0
    • isDOMParser

      public boolean isDOMParser()
      FOR INTERNAL USE ONLY Internal method for reading report XML

      Returns whether this node is to be read via a DOM parser.

      Specified by:
      isDOMParser in interface NodeParser
      Returns:
      true if this node is to be read via a DOM parser, false otherwise.
    • parseDOM

      public void parseDOM(Node node, Map<String,Object> parserMap) throws FatalParserException
      FOR INTERNAL USE ONLY Internal method for reading report XML

      Parses the node.

      Specified by:
      parseDOM in interface NodeParser
      Parameters:
      node - the node
      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.
    • parseElement

      public NodeParser parseElement(com.inet.report.parser.XMLTag group, String tagName, Attributes atts, Map<String,Object> parserMap) throws FatalParserException
      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
      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.
      tagName - 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 Internal method for reading report XML

      Receive notification of the end of an XML tag.

      Specified by:
      parseEndElement in interface NodeParser
      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 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
      Parameters:
      text - text encountered and to be stored
      parserMap - The map of current Parser.