Class BeanComparator<T,V> 
- Type Parameters:
- T- the type of beans to be compared by this- Comparator
- V- the type of property to compare
- All Implemented Interfaces:
- Comparator<T>
 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 an internal natural order Comparator, 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 Apache
 Commons Collection ComparatorChain should be supplied in the constructor. Note that the passed in Comparator must be able to handle the
 passed in objects. Because the type of the property to be compared is not known at compile time no type checks can be performed by the compiler. Thus
 ClassCastException exceptions can be thrown if unexpected property values occur.
 
- 
Constructor SummaryConstructorsConstructorDescriptionConstructs a Bean Comparator without a property set.BeanComparator(String property) Constructs a property-based comparator for beans.BeanComparator(String property, Comparator<V> comparator) Constructs a property-based comparator for beans.
- 
Method SummaryModifier and TypeMethodDescriptionintCompare two JavaBeans by their shared property.booleanTwoBeanComparator's are equals if and only if the wrapped comparators and the property names to be compared are equal.Gets the Comparator being used to compare beans.Gets the property attribute of the BeanComparatorinthashCode()Hashcode compatible with equals.voidsetProperty(String property) Sets the method to be called to compare two JavaBeansMethods inherited from class java.lang.Objectclone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Comparatorreversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
- 
Constructor Details- 
BeanComparatorpublic BeanComparator()Constructs a Bean Comparator without a property set. Note that this is intended to be used only in bean-centric environments. Until setProperty(java.lang.String)is called with a non-null value. this comparator will compare the Objects only.
- 
BeanComparatorConstructs a property-based comparator for beans. This compares two beans by the property specified in the property parameter. This constructor creates a BeanComparatorthat uses aComparableComparatorto compare the property values.Passing "null" to this constructor will cause the BeanComparator to compare objects based on natural order, that is Comparable.- Parameters:
- property- String Name of a bean property, which may contain the name of a simple, nested, indexed, mapped, or combined property. See- PropertyUtilsBeanfor property query language syntax. If the property passed in is null then the actual objects will be compared
 
- 
BeanComparatorConstructs a property-based comparator for beans. This constructor creates a BeanComparator that uses the supplied Comparator to compare the property values.- Parameters:
- property- Name of a bean property, can contain the name of a simple, nested, indexed, mapped, or combined property. See- PropertyUtilsBeanfor 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.
 
 
- 
- 
Method Details- 
compareCompare two JavaBeans by their shared property. IfgetProperty()is null then the actual objects will be compared.- Specified by:
- comparein interface- Comparator<T>
- 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
 
- 
equalsTwoBeanComparator's are equals if and only if the wrapped comparators and the property names to be compared are equal.- Specified by:
- equalsin interface- Comparator<T>
- Overrides:
- equalsin class- Object
- Parameters:
- o- Comparator to compare to
- Returns:
- whether the comparators are equal or not
 
- 
getComparatorGets the Comparator being used to compare beans.- Returns:
- the Comparator being used to compare beans
 
- 
getPropertyGets the property attribute of the BeanComparator- Returns:
- String method name to call to compare. A null value indicates that the actual objects will be compared
 
- 
hashCodeHashcode compatible with equals.
- 
setPropertySets the method to be called to compare two JavaBeans- Parameters:
- property- String method name to call to compare If the property passed in is null then the actual objects will be compared
 
 
-