Class SortField

java.lang.Object
com.inet.report.Field
com.inet.report.SortField
All Implemented Interfaces:
NodeParser, com.inet.report.ReferencedObject, com.inet.report.ReferenceHolder, Validatable, Serializable

public class SortField extends Field implements com.inet.report.ReferenceHolder, Validatable
With this field you can only set the sorting of the report data. This field can not be displayed with a FieldElement.

This class is part of the RDC.
See Also:
  • Field Details

    • ASCENDING_ORDER

      public static final int ASCENDING_ORDER
      Sort records ascending.
      See Also:
    • DESCENDING_ORDER

      public static final int DESCENDING_ORDER
      Sort records descending.
      See Also:
    • ORIGINAL_ORDER

      public static final int ORIGINAL_ORDER
      Do not sort records, let it unsorted.
      See Also:
    • ASCENDING_ALPHA_NUMERIC_ORDER

      public static final int ASCENDING_ALPHA_NUMERIC_ORDER
      Sort records ascending.
      See Also:
    • DESCENDING_ALPHA_NUMERIC_ORDER

      public static final int DESCENDING_ALPHA_NUMERIC_ORDER
      Sort records descending.
      See Also:
  • Method Details

    • setName

      public void setName(String name) throws ReportException
      Sets the name of the sort field. The name must be the name of the database field, which should be the sort criterion. The name of the field should start with a special character for instanciation:
      • no charcter, if the field is a database field
      • a '%', if the field is a SqlExprField
      • a '#', if the field is a SummaryField
      • a '@', if the field is a FormulaField
      • a '?', if the field is a PromptField
      This is different to the naming of a field, where you do not concatenate the character, because you give the field only a name. Here you want to instanciate an existing field with its name.
      Specified by:
      setName in class Field
      Parameters:
      name - The name of the sort field for example, Users.UserID
      Throws:
      ReportException - if no database field with this name exists
      IllegalArgumentException - if a sort field with name equals name already exists
      Since:
      6.0
    • setSort

      public void setSort(int sort)
      Sets the value of the property 'sort direction'. The sort direction determines the order of the fetched data in the presented list. It can be ascending, descending or original order.
      Parameters:
      sort - The new value of the property 'sort direction'.
      Throws:
      IllegalArgumentException - on illegal sort direction values
      Since:
      6.0
      See Also:
    • getSort

      public int getSort()
      Returns the value of the property 'sort direction'.
      Returns:
      The current value of the property 'sort direction'.
      Since:
      6.0
      See Also:
    • setSortDirectionFormula

      public void setSortDirectionFormula(FormulaField formula) throws ReportException
      Sets the formula of sort direction. This formula must be of type FormulaField.FORMULA_PROPERTY and must return a positive int value. Allowed range of values 0 for ASCENDING_ORDER, 1 for DESCENDING_ORDER, 2 for ORIGINAL_ORDER (data stays unsorted). Other formula will be ignored.
      Parameters:
      formula - for sort direction or null to remove the sort direction formula.
      Throws:
      ReportException - Wrong formula, formula type or return value of formula
      Since:
      6.0
    • getSortDirectionFormula

      public FormulaField getSortDirectionFormula()
      Returns the formula of sort direction for this sort field.
      Returns:
      sort direction formula
      Since:
      6.0
      See Also:
    • saveFieldXML2

      protected void saveFieldXML2(PrintWriter pw, int depth)
      XML2: FOR INTERNAL USE ONLY
      Specified by:
      saveFieldXML2 in class Field
      Parameters:
      pw - the print writer
      depth - the current depth
    • addReferencedObject

      public final void addReferencedObject(com.inet.report.ReferencedObject reference)
      FOR INTERNAL USE ONLY
      Specified by:
      addReferencedObject in interface com.inet.report.ReferenceHolder
      Parameters:
      reference - a new referenced object
      Since:
      6.0
    • getReferencedObjects

      public final com.inet.report.ReferencedObject[] getReferencedObjects()
      FOR INTERNAL USE ONLY
      Specified by:
      getReferencedObjects in interface com.inet.report.ReferenceHolder
      Returns:
      the referenced objects
    • getRealReferencedObjectCount

      public final int getRealReferencedObjectCount()
      FOR INTERNAL USE ONLY
      Specified by:
      getRealReferencedObjectCount in interface com.inet.report.ReferenceHolder
      Returns:
      the count of real referenced objects
      Since:
      6.0
    • getReferencedObjectCount

      public final int getReferencedObjectCount()
      FOR INTERNAL USE ONLY
      Specified by:
      getReferencedObjectCount in interface com.inet.report.ReferenceHolder
      Returns:
      the count of referenced objects
    • removeReferencedObject

      public final void removeReferencedObject(com.inet.report.ReferencedObject reference)
      FOR INTERNAL USE ONLY
      Specified by:
      removeReferencedObject in interface com.inet.report.ReferenceHolder
      Parameters:
      reference - the object
      Since:
      6.0
    • setReferences

      public final void setReferences()
      FOR INTERNAL USE ONLY
      Specified by:
      setReferences in interface com.inet.report.ReferenceHolder
    • resetReferences

      public final void resetReferences()
      FOR INTERNAL USE ONLY
      Specified by:
      resetReferences in interface com.inet.report.ReferenceHolder
    • isUsed

      public boolean isUsed()
      FOR INTERNAL USE ONLY
      Overrides:
      isUsed in class Field
      Returns:
      is always used
      Since:
      6.0
    • equals

      public boolean equals(Object obj)
      Indicates whether some other SortField is "equal to" this one.
      Overrides:
      equals in class Field
      Parameters:
      obj - the reference SortField with which to compare.
      Returns:
      true if this SortField is the same as the SortField argument; false otherwise.
      Since:
      6.0
    • getValueType

      public int getValueType()
      Returns the value type (or return type) of the field.
      Overrides:
      getValueType in class Field
      Returns:
      The value of the property 'value type'. Will be Field.UNKNOWN if the current value of the 'field' property is not set. Use validate() to check this.
      Since:
      6.1
      See Also:
    • updateName

      public void updateName()
      Updates the field's ref name. Note that this method simply updates the name of this SortField by calling {FieldField.getRefName().
      Since:
      7.0
      See Also:
    • 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 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 Field
      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.
    • validate

      public Validity validate()
      Check if the object is valid and returns the state and details of possible errors.
      Specified by:
      validate in interface Validatable
      Returns:
      the current state, never null.