Class SpecifiedOrder

  • All Implemented Interfaces:
    NodeParser, java.io.Serializable

    public class SpecifiedOrder
    extends java.lang.Object
    implements java.io.Serializable, NodeParser
    This class saved the details of the specified sort order of groups. *
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  SpecifiedOrder.AttributeTag
      FOR INTERNAL USE ONLY
    • Constructor Summary

      Constructors 
      Constructor Description
      SpecifiedOrder()
      FOR INTERNAL USE ONLY
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int add​(java.lang.String name, FormulaField formula)
      Add a new group value at the end of the list.
      int add​(java.lang.String name, java.lang.String formula)
      Add a new group value at the end of the list.
      boolean equals​(java.lang.Object object)
      Compares the other object with this.
      int findName​(java.lang.String name)
      Find the index of a group with its name.
      int getCount()
      Get the count of specified group values.
      java.lang.String getFormula​(int idx)
      Return the formula of the nth group.
      FormulaField getFormulaField​(int idx)
      FOR INTERNAL USE ONLY Returns FormulaField from index
      java.lang.String getName​(int idx)
      Return the display name of the nth group.
      java.lang.String getOtherName()
      Get the display name the other group entry.
      int getOtherType()
      Get the type for handling the not specified rows.
      boolean isDOMParser()
      FOR INTERNAL USE ONLY Internal method for reading report XML
      void move​(int idx, int offset)
      Move a group entry to another position in the list.
      void move​(java.lang.String name, int offset)
      Move a group entry to another position in the list.
      java.lang.String paramString()
      Create a String representation of this sort order for debugging.
      void parseDOM​(org.w3c.dom.Node node, java.util.Map<java.lang.String,​java.lang.Object> parserMap)
      FOR INTERNAL USE ONLY Internal method for reading report XML
      NodeParser parseElement​(com.inet.report.parser.XMLTag group, java.lang.String tagName, org.xml.sax.Attributes atts, java.util.Map<java.lang.String,​java.lang.Object> parserMap)
      FOR INTERNAL USE ONLY Internal method for reading report XML
      void parseEndElement​(com.inet.report.parser.XMLTag group, java.lang.String tag, java.util.Map<java.lang.String,​java.lang.Object> parserMap)
      FOR INTERNAL USE ONLY Internal method for reading report XML
      void parseText​(java.lang.String text, java.util.Map<java.lang.String,​java.lang.Object> parserMap)
      FOR INTERNAL USE ONLY Internal method for reading report XML
      void remove​(int idx)
      Remove a group entry from this list.
      void remove​(java.lang.String name)
      Remove a group entry from this list.
      void setFormula​(int idx, FormulaField formula)
      Set a new formula value on the idx position.
      void setName​(int idx, java.lang.String name)
      Change the name of a group entry.
      void setOtherName​(java.lang.String otherName)
      Set display name for the other group entry.
      void setOtherType​(int otherType)
      Set the type for handling the not specified rows.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • 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:
        setOtherType(int), Constant Field Values
      • 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:
        setOtherType(int), Constant Field Values
    • Constructor Detail

      • SpecifiedOrder

        public SpecifiedOrder()
        FOR INTERNAL USE ONLY
    • Method Detail

      • getFormula

        public java.lang.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:
        java.lang.IllegalArgumentException - if the index is out of range.
        Since:
        6.0
        See Also:
        Field.BOOLEAN, setFormula(int, FormulaField), getCount()
      • 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​(java.lang.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:
        java.lang.IllegalArgumentException - if the name already exists or name or formula are null
        Since:
        6.0
        See Also:
        remove(int), move(int, int)
      • add

        public int add​(java.lang.String name,
                       java.lang.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.
        java.lang.IllegalArgumentException - if the name already exists.
        Since:
        6.0
        See Also:
        remove(int), move(int, int)
      • findName

        public int findName​(java.lang.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:
        java.lang.IllegalArgumentException - if the index is out of range.
        Since:
        6.0
        See Also:
        add(String, String), remove(String), move(int, int)
      • 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:
        java.lang.IllegalArgumentException - if the index is out of range.
        Since:
        6.0
      • move

        public void move​(java.lang.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:
        java.lang.IllegalArgumentException - if the index is out of range.
        Since:
        6.0
      • setName

        public void setName​(int idx,
                            java.lang.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:
        java.lang.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 java.lang.String getOtherName()
        Get the display name the other group entry.
        Returns:
        the name for other group values.
        Since:
        6.0
        See Also:
        setOtherName(String)
      • setOtherName

        public void setOtherName​(java.lang.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:
        java.lang.IllegalArgumentException - if the name is empty or null.
        Since:
        6.0
        See Also:
        setOtherType(int), getOtherName()
      • getOtherType

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

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

        public boolean equals​(java.lang.Object object)
        Compares the other object with this. Indicates whether some other object is "equal to" this one.
        Overrides:
        equals in class java.lang.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​(org.w3c.dom.Node node,
                             java.util.Map<java.lang.String,​java.lang.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,
                                       java.lang.String tagName,
                                       org.xml.sax.Attributes atts,
                                       java.util.Map<java.lang.String,​java.lang.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,
                                    java.lang.String tag,
                                    java.util.Map<java.lang.String,​java.lang.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​(java.lang.String text,
                              java.util.Map<java.lang.String,​java.lang.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.