public class PropertyComparator<T>
extends java.lang.Object
implements java.util.Comparator<T>
BeanWrapper
Modifier and Type | Field and Description |
---|---|
private BeanWrapperImpl |
beanWrapper |
protected Log |
logger |
private SortDefinition |
sortDefinition |
Constructor and Description |
---|
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.
|
Modifier and Type | Method and Description |
---|---|
int |
compare(T o1,
T o2) |
private java.lang.Object |
getPropertyValue(java.lang.Object obj)
Get the SortDefinition's property value for the given object.
|
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.
|
protected final Log logger
private final SortDefinition sortDefinition
private final BeanWrapperImpl beanWrapper
public PropertyComparator(SortDefinition sortDefinition)
MutableSortDefinition
public PropertyComparator(java.lang.String property, boolean ignoreCase, boolean ascending)
property
- the property to compareignoreCase
- whether upper and lower case in String values should be ignoredascending
- whether to sort ascending (true) or descending (false)public final SortDefinition getSortDefinition()
private java.lang.Object getPropertyValue(java.lang.Object obj)
obj
- the object to get the property value forpublic static void sort(java.util.List<?> source, SortDefinition sortDefinition) throws BeansException
Note: Contained objects have to provide the given property in the form of a bean property, i.e. a getXXX method.
source
- the input ListsortDefinition
- the parameters to sort byjava.lang.IllegalArgumentException
- in case of a missing propertyNameBeansException
public static void sort(java.lang.Object[] source, SortDefinition sortDefinition) throws BeansException
Note: Contained objects have to provide the given property in the form of a bean property, i.e. a getXXX method.
source
- input sourcesortDefinition
- the parameters to sort byjava.lang.IllegalArgumentException
- in case of a missing propertyNameBeansException