Class RMSort

  • All Implemented Interfaces:
    RMArchiver.Archiving, java.lang.Cloneable

    public class RMSort
    extends RMObject
    This class provides a basic description for comparison and sorting with a simple key and order (ascending or descending). You can create a new order like this:

       RMSort titleFirst = new RMSort("getTitle");
       RMSort bestRevenueFirst = new RMSort("getRevenue", ORDER_DESCEND);
     

    This class also provides useful static methods for comparison and sorting:

       RMSort.sort(myList, "getTitle"); // Sort myList by its contents' getTitle method (alphabetically)
       RMSort.sort(myList, bestRevenueFirst); // Sort myList by its contents' getRevenue method (largest first)
       List mySortList = new ArrayList();
       mySortList.add(bestRevenueFirst);
       mySortList.add(titleFirst);
       RMSort.sort(myList, mySortList); // Sort myList by revenue and title
     
    • Constructor Summary

      Constructors 
      Constructor Description
      RMSort()
      Creates a plain sort with no key.
      RMSort​(java.lang.String aKey)
      Creates a sort with the given key and ORDER_ASCEND.
      RMSort​(java.lang.String aKey, int anOrder)
      Creates a sort with the given key and order.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static int compare​(java.lang.Object obj1, java.lang.Object obj2)
      Compare two value objects (assumed to be String, Numer, Boolean, Date, Comparable, etc.).
      static int compare​(java.lang.Object obj1, java.lang.Object obj2, RMSort aSort)
      Compare objects with given RMSort.
      static int compare​(java.lang.Object obj1, java.lang.Object obj2, java.util.List aSortList)
      Compare objects with given list of RMSorts.
      boolean equals​(java.lang.Object anObj)
      Standard equals implementation.
      void flip()
      Deprecated - use getFlipped instead, RMSort should be immutable.
      java.lang.Object fromXML​(RXArchiver anArchiver, RXElement anElement)
      XML unarchival.
      RMSort getFlipped()
      Returns a sort with the same key but opposite order.
      java.lang.String getKey()
      Returns the _key for this sort.
      int getOrder()
      Returns the order for this sort.
      java.lang.Object initWithArchiver​(RMArchiver anArchiver)
      Legacy unarchival.
      static java.util.List sort​(java.util.List aList, RMSort aSort)
      Returns the given list sorted by the given sort.
      static java.util.List sort​(java.util.List aList, java.lang.String aKey)
      Returns the given list sorted by the given key.
      static java.util.List sort​(java.util.List aList, java.util.List aSortList)
      Returns the given list sorted by the given list of sorts.
      static java.util.Vector sortedList​(java.util.List aList, java.lang.String aKey)
      Returns a new list from the given list sorted by the given key.
      java.lang.String toString()
      Returns a string representation of sort (just the sort key).
      RXElement toXML​(RXArchiver anArchiver)
      XML archival.
      • Methods inherited from class java.lang.Object

        finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • RMSort

        public RMSort()
        Creates a plain sort with no key. Used for unarchival, shouldn't be called directly.
      • RMSort

        public RMSort​(java.lang.String aKey)
        Creates a sort with the given key and ORDER_ASCEND.
      • RMSort

        public RMSort​(java.lang.String aKey,
                      int anOrder)
        Creates a sort with the given key and order.
    • Method Detail

      • getKey

        public java.lang.String getKey()
        Returns the _key for this sort.
      • getOrder

        public int getOrder()
        Returns the order for this sort.
      • getFlipped

        public RMSort getFlipped()
        Returns a sort with the same key but opposite order.
      • flip

        public void flip()
        Deprecated - use getFlipped instead, RMSort should be immutable.
      • compare

        public static int compare​(java.lang.Object obj1,
                                  java.lang.Object obj2,
                                  RMSort aSort)
        Compare objects with given RMSort.
      • compare

        public static int compare​(java.lang.Object obj1,
                                  java.lang.Object obj2,
                                  java.util.List aSortList)
        Compare objects with given list of RMSorts.
      • compare

        public static int compare​(java.lang.Object obj1,
                                  java.lang.Object obj2)
        Compare two value objects (assumed to be String, Numer, Boolean, Date, Comparable, etc.).
      • sort

        public static java.util.List sort​(java.util.List aList,
                                          java.lang.String aKey)
        Returns the given list sorted by the given key.
      • sort

        public static java.util.List sort​(java.util.List aList,
                                          RMSort aSort)
        Returns the given list sorted by the given sort.
      • sort

        public static java.util.List sort​(java.util.List aList,
                                          java.util.List aSortList)
        Returns the given list sorted by the given list of sorts.
      • sortedList

        public static java.util.Vector sortedList​(java.util.List aList,
                                                  java.lang.String aKey)
        Returns a new list from the given list sorted by the given key.
      • equals

        public boolean equals​(java.lang.Object anObj)
        Standard equals implementation.
        Overrides:
        equals in class java.lang.Object
      • toString

        public java.lang.String toString()
        Returns a string representation of sort (just the sort key).
        Overrides:
        toString in class java.lang.Object
      • fromXML

        public java.lang.Object fromXML​(RXArchiver anArchiver,
                                        RXElement anElement)
        XML unarchival.