public class RMSort
extends java.lang.Object
implements java.util.Comparator, java.lang.Cloneable
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
Modifier and Type | Field and Description |
---|---|
static java.util.Comparator |
COMPARATOR |
static byte |
ORDER_ASCEND |
static byte |
ORDER_DESCEND |
static byte |
ORDER_INDETERMINATE |
static byte |
ORDER_SAME |
Constructor and 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.
|
Modifier and Type | Method and 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.lang.Object |
fromXML(com.reportmill.archiver.RXArchiver anArchiver,
com.reportmill.archiver.RXElement anElement,
java.lang.Object anOwner)
XML unarchival.
|
java.lang.String |
getKey()
Returns the key for this sort.
|
int |
getOrder()
Returns the order for this sort.
|
java.lang.String |
getOrderString()
Returns the order as a string.
|
void |
setKey(java.lang.String aKey)
Sets the key for this sort.
|
void |
setOrder(int anOrder)
Sets the order for this sort.
|
void |
setOrderString(java.lang.String aString)
Sets the order as a string.
|
static void |
sort(java.util.List aList,
java.util.List aSortList)
Returns the given list sorted by the given list of sorts.
|
static void |
sort(java.util.List aList,
RMSort... theSorts)
Returns the given list sorted by the given sort.
|
static void |
sort(java.util.List aList,
RMSort aSort)
Returns the given list sorted by the given sort.
|
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.lang.String aKey)
Returns the given list sorted by the given key.
|
static <T extends java.lang.Comparable<? super T>> |
sortedList(java.util.Collection<T> aCollection)
Returns a new sorted list from given collection.
|
static <T> java.util.Vector<T> |
sortedList(java.util.Collection<T> aCollection,
java.lang.String... theKeys)
Returns a new list from the given list sorted by the given key.
|
static <T> java.util.Vector<T> |
sortedList(java.util.Collection<T> aCollection,
java.lang.String aKey)
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).
|
com.reportmill.archiver.RXElement |
toXML(com.reportmill.archiver.RXArchiver anArchiver,
java.lang.Object anOwner)
XML archival.
|
public static final byte ORDER_SAME
public static final byte ORDER_ASCEND
public static final byte ORDER_DESCEND
public static final byte ORDER_INDETERMINATE
public static java.util.Comparator COMPARATOR
public RMSort()
public RMSort(java.lang.String aKey)
public RMSort(java.lang.String aKey, int anOrder)
public java.lang.String getKey()
public void setKey(java.lang.String aKey)
public int getOrder()
public void setOrder(int anOrder)
public java.lang.String getOrderString()
public void setOrderString(java.lang.String aString)
public void toggleOrder()
public int compare(java.lang.Object obj1, java.lang.Object obj2)
compare
in interface java.util.Comparator
public static int Compare(java.lang.Object anObj1, java.lang.Object anObj2)
public static void sort(java.util.List aList, java.lang.String aKey)
public static void sort(java.util.List aList, RMSort aSort)
public static void sort(java.util.List aList, java.lang.String... theKeys)
public static void sort(java.util.List aList, RMSort... theSorts)
public static void sort(java.util.List aList, java.util.List aSortList)
public static <T extends java.lang.Comparable<? super T>> java.util.List<T> sortedList(java.util.Collection<T> aCollection)
public static <T> java.util.Vector<T> sortedList(java.util.Collection<T> aCollection, java.lang.String aKey)
public static <T> java.util.Vector<T> sortedList(java.util.Collection<T> aCollection, java.lang.String... theKeys)
public boolean equals(java.lang.Object anObj)
equals
in interface java.util.Comparator
equals
in class java.lang.Object
public java.lang.Object clone()
clone
in class java.lang.Object
public com.reportmill.archiver.RXElement toXML(com.reportmill.archiver.RXArchiver anArchiver, java.lang.Object anOwner)
public java.lang.Object fromXML(com.reportmill.archiver.RXArchiver anArchiver, com.reportmill.archiver.RXElement anElement, java.lang.Object anOwner)
public java.lang.String toString()
toString
in class java.lang.Object