public class DefaultItemSorter extends Object implements ItemSorter
DefaultItemSorter
adheres to the
Container.Sortable.sort(Object[], boolean[])
rules and sorts the container
according to the properties given using
#setSortProperties(Sortable, Object[], boolean[])
.
A Comparator is used for comparing the individual Property
values. The comparator can be set using the constructor. If no comparator is
provided a default comparator is used.
Modifier and Type | Class and Description |
---|---|
static class |
DefaultItemSorter.DefaultPropertyValueComparator
Provides a default comparator used for comparing
Property values. |
Constructor and Description |
---|
DefaultItemSorter()
Constructs a DefaultItemSorter using the default
Comparator
for comparing Property values. |
DefaultItemSorter(Comparator<Object> propertyValueComparator)
Constructs a DefaultItemSorter which uses the
Comparator
indicated by the propertyValueComparator parameter for
comparing Property values. |
Modifier and Type | Method and Description |
---|---|
int |
compare(Object o1,
Object o2)
Compares its two arguments for order.
|
protected int |
compareProperty(Object propertyId,
boolean sortDirection,
Item item1,
Item item2)
Compares the property indicated by
propertyId in the items
indicated by item1 and item2 for order. |
void |
setSortProperties(Container.Sortable container,
Object[] propertyId,
boolean[] ascending)
Sets the parameters for an upcoming sort operation.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
comparing, comparing, comparingDouble, comparingInt, comparingLong, equals, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
public DefaultItemSorter()
Comparator
for comparing Property
values.public DefaultItemSorter(Comparator<Object> propertyValueComparator)
Comparator
indicated by the propertyValueComparator
parameter for
comparing Property
values.propertyValueComparator
- The comparator to use when comparing individual
Property
valuespublic int compare(Object o1, Object o2)
ItemSorter
The parameters for the ItemSorter
compare()
method must always be item ids which exist in the container set using
#setSortProperties(Sortable, Object[], boolean[])
.
compare
in interface ItemSorter
compare
in interface Comparator<Object>
Comparator.compare(Object, Object)
protected int compareProperty(Object propertyId, boolean sortDirection, Item item1, Item item2)
propertyId
in the items
indicated by item1
and item2
for order. Returns
a negative integer, zero, or a positive integer as the property value in
the first item is less than, equal to, or greater than the property value
in the second item. If the sortDirection
is false the
returned value is negated.
The comparator set for this DefaultItemSorter
is used for
comparing the two property values.
propertyId
- The property id for the property that is used for comparison.sortDirection
- The direction of the sort. A false value negates the result.item1
- The first item to compare.item2
- The second item to compare.sortDirection
is false.public void setSortProperties(Container.Sortable container, Object[] propertyId, boolean[] ascending)
ItemSorter
ItemSorter
sorts the container.setSortProperties
in interface ItemSorter
container
- The container that will be sorted. The container must contain
the propertyIds given in the propertyId
parameter.propertyId
- The property ids used for sorting. The property ids must exist
in the container and should only be used if they are also
sortable, i.e include in the collection returned by
container.getSortableContainerPropertyIds()
. See
Container.Sortable.sort(Object[], boolean[])
for more
information.ascending
- Sorting order flags for each property id. See
Container.Sortable.sort(Object[], boolean[])
for more
information.Copyright © 2019 Vaadin Ltd. All rights reserved.