planetj.dataengine.display
Class RowComparator

java.lang.Object
  extended byplanetj.dataengine.display.RowComparator
All Implemented Interfaces:
java.util.Comparator

public class RowComparator
extends java.lang.Object
implements java.util.Comparator

RowComparator contains info on how this Row will be sorted Creation date: (12/11/2001 6:37:10 AM)


Field Summary
static java.lang.String ASCENDING
           
static java.lang.String DESCENDING
           
 
Constructor Summary
RowComparator()
           
 
Method Summary
 int compare(java.lang.Object o1, java.lang.Object o2)
          Compares its two arguments for order.
protected  int compare(java.lang.Object row1, java.lang.Object row2, int columnIndex)
          Compares its two arguments for order.
 java.lang.String[] getSortedColumnNames()
          Returns an Array of columnNames String[] that represents the an array of column names in the order at which they should be sorted by (i.e.
 java.lang.String getSortOrder()
          Returns the sort order Either ASC or DESC Creation date: (12/11/2001 6:38:33 AM)
 void setSortedColumnNames(java.lang.String[] newSortedColumnNames)
          Sets an Array of columnNames String[] that represents the an array of column names in the order at which they should be sorted by (i.e.
 void setSortOrder(java.lang.String newSortOrder)
          Sets the sort order to either ASC or DESC Creation date: (12/11/2001 6:38:33 AM)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Comparator
equals
 

Field Detail

ASCENDING

public static final java.lang.String ASCENDING
See Also:
Constant Field Values

DESCENDING

public static final java.lang.String DESCENDING
See Also:
Constant Field Values
Constructor Detail

RowComparator

public RowComparator()
Method Detail

compare

public int compare(java.lang.Object o1,
                   java.lang.Object o2)
Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

The implementor must ensure that sgn(compare(x, y)) == -sgn(compare(y, x)) for all x and y. (This implies that compare(x, y) must throw an exception if and only if compare(y, x) throws an exception.)

The implementor must also ensure that the relation is transitive: ((compare(x, y)>0) && (compare(y, z)>0)) implies compare(x, z)>0.

Finally, the implementer must ensure that compare(x, y)==0 implies that sgn(compare(x, z))==sgn(compare(y, z)) for all z.

It is generally the case, but not strictly required that (compare(x, y)==0) == (x.equals(y)). Generally speaking, any comparator that violates this condition should clearly indicate this fact. The recommended language is "Note: this comparator imposes orderings that are inconsistent with equals."

Specified by:
compare in interface java.util.Comparator
Returns:
a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.
Throws:
java.lang.ClassCastException - if the arguments' types prevent them from being compared by this Comparator.

compare

protected int compare(java.lang.Object row1,
                      java.lang.Object row2,
                      int columnIndex)
Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

The implementor must ensure that sgn(compare(x, y)) == -sgn(compare(y, x)) for all x and y. (This implies that compare(x, y) must throw an exception if and only if compare(y, x) throws an exception.)

The implementor must also ensure that the relation is transitive: ((compare(x, y)>0) && (compare(y, z)>0)) implies compare(x, z)>0.

Finally, the implementer must ensure that compare(x, y)==0 implies that sgn(compare(x, z))==sgn(compare(y, z)) for all z.

It is generally the case, but not strictly required that (compare(x, y)==0) == (x.equals(y)). Generally speaking, any comparator that violates this condition should clearly indicate this fact. The recommended language is "Note: this comparator imposes orderings that are inconsistent with equals."

Parameters:
row1 - The base row (or list containing fields)
row2 - The comparison row (or list containg fields)
columnIndex - The index of the column name in the array of sort columns to use for the comparison The comparison will be based on the specified column. If based on this column the two rows are equals, then the comparison is repeated using the next column in the array. (If there isn't a next column, then the rows are treated as equal)
Returns:
a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.
Throws:
java.lang.ClassCastException - if the arguments' types prevent them from being compared by this Comparator.

getSortedColumnNames

public java.lang.String[] getSortedColumnNames()
Returns an Array of columnNames String[] that represents the an array of column names in the order at which they should be sorted by (i.e. sort by mSortedColumnNames[0] then sort by mSortedColumnNames[1] etc...

Creation date: (12/11/2001 6:38:33 AM)

Returns:
java.lang.String[]

getSortOrder

public java.lang.String getSortOrder()
Returns the sort order Either ASC or DESC Creation date: (12/11/2001 6:38:33 AM)

Returns:
java.lang.String ASC or DESC

setSortedColumnNames

public void setSortedColumnNames(java.lang.String[] newSortedColumnNames)
Sets an Array of columnNames String[] that represents the an array of column names in the order at which they should be sorted by (i.e. sort by mSortedColumnNames[0] then sort by mSortedColumnNames[1] etc...

Creation date: (12/11/2001 6:38:33 AM)

Parameters:
newSortedColumnNames - java.lang.String[]

setSortOrder

public void setSortOrder(java.lang.String newSortOrder)
Sets the sort order to either ASC or DESC Creation date: (12/11/2001 6:38:33 AM)

Parameters:
newSortOrder - java.lang.String ASC or DESC