org.apache.commons.beanutils
public class BeanComparator extends Object implements Comparator, Serializable
This comparator compares two beans by the specified bean property. It is also possible to compare beans based on nested, indexed, combined, mapped bean properties. Please see the PropertyUtilsBean documentation for all property name possibilities.
Note: The BeanComparator passes the values of the specified
bean property to a ComparableComparator, if no comparator is
specified in the constructor. If you are comparing two beans based
on a property that could contain "null" values, a suitable Comparator
or ComparatorChain
should be supplied in the constructor.
Constructor Summary | |
---|---|
BeanComparator() Constructs a Bean Comparator without a property set. | |
BeanComparator(String property) Constructs a property-based comparator for beans. | |
BeanComparator(String property, Comparator comparator)
Constructs a property-based comparator for beans.
|
Method Summary | |
---|---|
int | compare(Object o1, Object o2)
Compare two JavaBeans by their shared property.
|
boolean | equals(Object o)
Two BeanComparator 's are equals if and only if
the wrapped comparators and the property names to be compared
are equal. |
Comparator | getComparator()
Gets the Comparator being used to compare beans.
|
String | getProperty()
Gets the property attribute of the BeanComparator
|
int | hashCode()
Hashcode compatible with equals. |
void | setProperty(String property)
Sets the method to be called to compare two JavaBeans
|
Constructs a Bean Comparator without a property set.
Note that this is intended to be used only in bean-centric environments.
Until BeanComparator is called with a non-null value. this comparator will compare the Objects only.
Constructs a property-based comparator for beans.
This compares two beans by the property
specified in the property parameter. This constructor creates
a BeanComparator
that uses a ComparableComparator
to compare the property values.
Passing "null" to this constructor will cause the BeanComparator
to compare objects based on natural order, that is
java.lang.Comparable
.
Parameters: property String Name of a bean property, which may contain the name of a simple, nested, indexed, mapped, or combined property. See PropertyUtilsBean for property query language syntax. If the property passed in is null then the actual objects will be compared
Parameters: property Name of a bean property, can contain the name of a simple, nested, indexed, mapped, or combined property. See PropertyUtilsBean for property query language syntax. comparator BeanComparator will pass the values of the specified bean property to this Comparator. If your bean property is not a comparable or contains null values, a suitable comparator may be supplied in this constructor.
Parameters: o1 Object The first bean to get data from to compare against o2 Object The second bean to get data from to compare
Returns: int negative or positive based on order
BeanComparator
's are equals if and only if
the wrapped comparators and the property names to be compared
are equal.Parameters: o Comparator to compare to
Returns: whether the the comparators are equal or not
Returns: the Comparator being used to compare beans
Returns: String method name to call to compare. A null value indicates that the actual objects will be compared
Returns: the hash code for this comparator
Parameters: property String method name to call to compare If the property passed in is null then the actual objects will be compared