Spring Framework

org.springframework.beans.support
Class PropertyComparator

java.lang.Object
  extended by org.springframework.beans.support.PropertyComparator
All Implemented Interfaces:
java.util.Comparator

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

PropertyComparator performs a comparison of two beans, evaluating the specified bean property via a BeanWrapper.

Since:
19.05.2003
Author:
Juergen Hoeller, Jean-Pierre Pawlak
See Also:
BeanWrapper

Field Summary
protected  org.apache.commons.logging.Log logger
           
 
Constructor Summary
PropertyComparator(SortDefinition sortDefinition)
          Create a new PropertyComparator for the given SortDefinition.
PropertyComparator(java.lang.String property, boolean ignoreCase, boolean ascending)
          Create a PropertyComparator for the given settings.
 
Method Summary
 int compare(java.lang.Object o1, java.lang.Object o2)
           
 SortDefinition getSortDefinition()
          Return the SortDefinition that this comparator uses.
static void sort(java.util.List source, SortDefinition sortDefinition)
          Sort the given List according to the given sort definition.
static void sort(java.lang.Object[] source, SortDefinition sortDefinition)
          Sort the given source according to the given sort definition.
 
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

logger

protected final org.apache.commons.logging.Log logger
Constructor Detail

PropertyComparator

public PropertyComparator(SortDefinition sortDefinition)
Create a new PropertyComparator for the given SortDefinition.

See Also:
MutableSortDefinition

PropertyComparator

public PropertyComparator(java.lang.String property,
                          boolean ignoreCase,
                          boolean ascending)
Create a PropertyComparator for the given settings.

Parameters:
property - the property to compare
ignoreCase - whether upper and lower case in String values should be ignored
ascending - whether to sort ascending (true) or descending (false)
Method Detail

getSortDefinition

public final SortDefinition getSortDefinition()
Return the SortDefinition that this comparator uses.


compare

public int compare(java.lang.Object o1,
                   java.lang.Object o2)
Specified by:
compare in interface java.util.Comparator

sort

public static void sort(java.util.List source,
                        SortDefinition sortDefinition)
                 throws BeansException
Sort the given List according to the given sort definition.

Note: Contained objects have to provide the given property in the form of a bean property, i.e. a getXXX method.

Parameters:
source - the input List
sortDefinition - the parameters to sort by
Throws:
java.lang.IllegalArgumentException - in case of a missing propertyName
BeansException

sort

public static void sort(java.lang.Object[] source,
                        SortDefinition sortDefinition)
                 throws BeansException
Sort the given source according to the given sort definition.

Note: Contained objects have to provide the given property in the form of a bean property, i.e. a getXXX method.

Parameters:
source - input source
sortDefinition - the parameters to sort by
Throws:
java.lang.IllegalArgumentException - in case of a missing propertyName
BeansException

Spring Framework