org.mmbase.util
Class NodeComparator
java.lang.Object
|
+--org.mmbase.util.NodeComparator
- All Implemented Interfaces:
- java.util.Comparator
- public class NodeComparator
- extends java.lang.Object
- implements java.util.Comparator
This class implements the Comparator interface for comparing MMObjectNodes.
At forhand you specify in which fields a specified nodes should be compared,
these fields may not have a null value.
- Version:
- 5 Jan 2001
- Author:
- Pierre van Rooden
|
Field Summary |
static java.lang.String |
DOWN
|
static java.lang.String |
UP
|
|
Constructor Summary |
NodeComparator(java.util.Vector fields)
Simple constructor that uses the default sort order (UP). |
NodeComparator(java.util.Vector fields,
java.util.Vector sortDirs)
Constructor in which you spercify the sort order (UP or DOWN) per field. |
|
Method Summary |
int |
compare(java.lang.Object o1,
java.lang.Object o2)
The two message nodes will be compared using the compare function of
the values of their fields. |
boolean |
equals(java.lang.Object obj)
Returns whether another object is equal to this comparator (that is,
compare the same fields in the same order). |
int |
hashCode()
Returns the comparator's hash code. |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
UP
public static final java.lang.String UP
DOWN
public static final java.lang.String DOWN
NodeComparator
public NodeComparator(java.util.Vector fields)
- Simple constructor that uses the default sort order (UP).
- Parameters:
fields - the fields on which the message nodes get compared.
NodeComparator
public NodeComparator(java.util.Vector fields,
java.util.Vector sortDirs)
- Constructor in which you spercify the sort order (UP or DOWN) per field.
- Parameters:
fields - the fields on which the message nodes get compared.sortDirs - the sort directions (UP or DOWN) for each field.
compare
public int compare(java.lang.Object o1,
java.lang.Object o2)
- The two message nodes will be compared using the compare function of
the values of their fields.
Only Comparable values can be used (String, Numbers, Date), as well as
Boolean values.
In other cases it's assumed that the values cannot be ordered.
Note: this class assumes that values in fields are of similar types
(comparable to each other).
- Specified by:
compare in interface java.util.Comparator
- Parameters:
o1 - the first object to compareo2 - the second object to compare- Returns:
- 0 if both objects are equal, -1 if object 1 is 'less than'
object 2, and +1 if object 1 is 'greater than' object 2.
equals
public boolean equals(java.lang.Object obj)
- Returns whether another object is equal to this comparator (that is,
compare the same fields in the same order).
- Specified by:
equals in interface java.util.Comparator- Overrides:
equals in class java.lang.Object
- Parameters:
obj - the object to compare- Returns:
true if the objects are equal- Throws:
java.lang.ClassCastException -
hashCode
public int hashCode()
- Returns the comparator's hash code.
- Overrides:
hashCode in class java.lang.Object
MMBase 2001