Class Sort
- java.lang.Object
-
- com.inductiveautomation.snap.data.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
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.Comparator
COMPARATOR
static byte
ORDER_ASCEND
static byte
ORDER_DESCEND
static byte
ORDER_SAME
-
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).
-
-
-
Field Detail
-
ORDER_SAME
public static final byte ORDER_SAME
- See Also:
- Constant Field Values
-
ORDER_ASCEND
public static final byte ORDER_ASCEND
- See Also:
- Constant Field Values
-
ORDER_DESCEND
public static final byte ORDER_DESCEND
- See Also:
- Constant Field Values
-
COMPARATOR
public static java.util.Comparator COMPARATOR
-
-
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 interfacejava.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 classjava.lang.Object
-
getJSONKeys
public java.util.List<java.lang.String> getJSONKeys()
RMJSONArchiver GetKeys method.- Specified by:
getJSONKeys
in interfaceRMJSONArchiver.GetKeys
-
equals
public boolean equals(java.lang.Object anObj)
Standard equals implementation.- Specified by:
equals
in interfacejava.util.Comparator
- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
Returns a string representation of sort (just the sort key).- Overrides:
toString
in classjava.lang.Object
-
-