|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.figure8.join.core.EntityObject org.figure8.join.core.SortableEntityObject
public abstract class SortableEntityObject
Extension of EntityObject
that implements the Comparable
interface from JDK. Thus, entities subclassing this class can be sorted
according to a natural order when retrieved from database or applicative
caches.
This class has a generic implementation of compareTo(Object o)
method and delegates comparison criterion retrieval to the abstract
getStringForComparison()
method. Subclasses should only implement
this latest, returning the string representation of attribute used for comparison.
Constructor Summary | |
---|---|
SortableEntityObject()
|
Method Summary | |
---|---|
int |
compareTo(java.lang.Object o)
Compares this object with the specified object for order. |
abstract java.lang.String |
getStringForComparison()
Get the comparision criterion as a string. |
Methods inherited from class org.figure8.join.core.EntityObject |
---|
clone, equals, getId, hashCode, isTransient |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SortableEntityObject()
Method Detail |
---|
public abstract java.lang.String getStringForComparison()
public int compareTo(java.lang.Object o)
In the foregoing description, the notation sgn(expression) designates the mathematical signum function, which is defined to return one of -1, 0, or 1 according to whether the value of expression is negative, zero or positive. The implementor must ensure sgn(x.compareTo(y)) == -sgn(y.compareTo(x)) for all x and y. (This implies that x.compareTo(y) must throw an exception iff y.compareTo(x) throws an exception.)
The implementor must also ensure that the relation is transitive: (x.compareTo(y)>0 && y.compareTo(z)>0) implies x.compareTo(z)>0.
Finally, the implementer must ensure that x.compareTo(y)==0 implies that sgn(x.compareTo(z)) == sgn(y.compareTo(z)), for all z.
It is strongly recommended, but not strictly required that (x.compareTo(y)==0) == (x.equals(y)). Generally speaking, any class that implements the Comparable interface and violates this condition should clearly indicate this fact. The recommended language is "Note: this class has a natural ordering that is inconsistent with equals."
compareTo
in interface java.lang.Comparable
o
- the Object to be compared.
java.lang.ClassCastException
- if the specified object's type prevents it
from being compared to this Object.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |