Class Sort

  • All Implemented Interfaces:
    RMJSONArchiver.GetKeys, java.lang.Cloneable, java.util.Comparator

    public class Sort
    extends java.lang.Object
    implements java.util.Comparator, java.lang.Cloneable, RMJSONArchiver.GetKeys
    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:

       Sort titleFirst = new Sort("Title");
       Sort bestRevenueFirst = new Sort("Revenue", ORDER_DESCEND);
     

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

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

      Constructors 
      Constructor Description
      Sort()
      Creates a plain sort with no key.
      Sort​(java.lang.String aKey)
      Creates a sort with the given key and ORDER_ASCEND.
      Sort​(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
      java.lang.Object clone()
      Standard clone implementation.
      int compare​(java.lang.Object obj1, java.lang.Object obj2)
      Returns how the two given objects compare with this sort.
      static int Compare​(java.lang.Object anObj1, java.lang.Object anObj2)
      Compare two value objects (assumed to be String, Number, Boolean, Date, Comparable, etc.).
      boolean equals​(java.lang.Object anObj)
      Standard equals implementation.
      java.util.List<java.lang.String> getJSONKeys()
      RMJSONArchiver GetKeys method.
      java.lang.String getKey()
      Returns the key for this sort.
      int getOrder()
      Returns the order for this sort.
      void setKey​(java.lang.String aKey)
      Sets the key for this sort.
      void setOrder​(int anOrder)
      Sets the order for this sort.
      static void sort​(java.util.List aList, Sort aSort)
      Returns the given list sorted by the given sort.
      static void sort​(java.util.List aList, Sort... theSorts)
      Returns the given list sorted by the given sort.
      static void sort​(java.util.List aList, java.lang.String aKey)
      Returns the given list sorted by the given key.
      static void sort​(java.util.List aList, java.lang.String... theKeys)
      Returns the given list sorted by the given key.
      static void sort​(java.util.List aList, java.util.List aSortList)
      Returns the given list sorted by the given list of sorts.
      static <T extends java.lang.Comparable<? super T>>
      java.util.List<T>
      sortedList​(java.util.Collection<T> aCollection)
      Returns a new sorted list from given collection.
      static <T> java.util.List<T> sortedList​(java.util.Collection<T> aCollection, java.lang.String aKey)
      Returns a new list from the given list sorted by the given key.
      static <T> java.util.List<T> sortedList​(java.util.Collection<T> aCollection, java.lang.String... theKeys)
      Returns a new list from the given list sorted by the given key.
      void toggleOrder()
      Toggles the order for this sort between ORDER_ASCEND<->ORDER_DESCEND.
      java.lang.String toString()
      Returns a string representation of sort (just the sort key).
      • Methods inherited from class java.lang.Object

        finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Comparator

        reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
    • Constructor Detail

      • Sort

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

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

        public Sort​(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.
      • setKey

        public void setKey​(java.lang.String aKey)
        Sets the key for this sort.
      • getOrder

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

        public void setOrder​(int anOrder)
        Sets the order for this sort.
      • toggleOrder

        public void toggleOrder()
        Toggles the order for this sort between ORDER_ASCEND<->ORDER_DESCEND.
      • compare

        public int compare​(java.lang.Object obj1,
                           java.lang.Object obj2)
        Returns how the two given objects compare with this sort.
        Specified by:
        compare in interface java.util.Comparator
      • Compare

        public static int Compare​(java.lang.Object anObj1,
                                  java.lang.Object anObj2)
        Compare two value objects (assumed to be String, Number, Boolean, Date, Comparable, etc.).
      • sort

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

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

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

        public static void sort​(java.util.List aList,
                                Sort... theSorts)
        Returns the given list sorted by the given sort.
      • sort

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

        public static <T extends java.lang.Comparable<? super T>> java.util.List<T> sortedList​(java.util.Collection<T> aCollection)
        Returns a new sorted list from given collection.
      • sortedList

        public static <T> java.util.List<T> sortedList​(java.util.Collection<T> aCollection,
                                                       java.lang.String aKey)
        Returns a new list from the given list sorted by the given key.
      • sortedList

        public static <T> java.util.List<T> sortedList​(java.util.Collection<T> aCollection,
                                                       java.lang.String... theKeys)
        Returns a new list from the given list sorted by the given key.
      • clone

        public java.lang.Object clone()
        Standard clone implementation.
        Overrides:
        clone in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object anObj)
        Standard equals implementation.
        Specified by:
        equals in interface java.util.Comparator
        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