Package com.reportmill.base
Class RMSort
- java.lang.Object
-
- com.reportmill.base.RMObject
-
- com.reportmill.base.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
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.Comparator
COMPARATOR
static byte
ORDER_ASCEND
static byte
ORDER_DESCEND
static byte
ORDER_INDETERMINATE
static byte
ORDER_SAME
-
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 com.reportmill.base.RMObject
clone, copy, didChange, didUndo, getAnimAttribute, getClassNameShort, undoClone, undoCopy, undoEquals
-
-
-
-
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
-
ORDER_INDETERMINATE
public static final byte ORDER_INDETERMINATE
- See Also:
- Constant Field Values
-
COMPARATOR
public static java.util.Comparator COMPARATOR
-
-
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 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
-
toXML
public RXElement toXML(RXArchiver anArchiver)
XML archival.
-
fromXML
public java.lang.Object fromXML(RXArchiver anArchiver, RXElement anElement)
XML unarchival.
-
initWithArchiver
public java.lang.Object initWithArchiver(RMArchiver anArchiver)
Legacy unarchival.- Specified by:
initWithArchiver
in interfaceRMArchiver.Archiving
- Overrides:
initWithArchiver
in classRMObject
-
-