Package org.zkoss.zul

Class ListitemComparator

java.lang.Object
org.zkoss.zul.ListitemComparator
All Implemented Interfaces:
Serializable, Comparator

public class ListitemComparator extends Object implements Comparator, Serializable
A comparator used to compare Listitem, if not live data, or the data themselves, if live data.
Author:
tomyeh
See Also:
  • Constructor Details

    • ListitemComparator

      public ListitemComparator()
      Compares with Listitem.getValue().

      It assumes the value returned by Listitem.getValue() implements Comparable.

      Note: It assumes the ascending order and case-insensitive. If not, use ListitemComparator(int, boolean, boolean) instead.

    • ListitemComparator

      public ListitemComparator(int index)
      Compares with the column of the specified index.

      0 for the first column, 1 for the second and so on

      Note: -1 for Listitem.getValue() and it assumes the value implements Comparable.

      Note: It assumes the ascending order, case-insensitive and comparing the returned values of LabelElement.getLabel(). If not, use ListitemComparator(int, boolean, boolean, boolean) instead.

      A null value is considered as the minimum value.

      Parameters:
      index - which column to compare. If -1, Listitem.getValue() is used.
    • ListitemComparator

      public ListitemComparator(int index, boolean ascending, boolean ignoreCase)
      Compares with the column of the specified index.

      0 for the first column, 1 for the second and so on

      Note: -1 for Listitem.getValue() and it assumes the value implements Comparable.

      Note: it compares the returned value of LabelElement.getLabel(). If you want to compare Listcell.getValue()., use ListitemComparator(int, boolean, boolean, boolean) instead.

      A null value is considered as the minimum value.

      Parameters:
      index - which column to compare. If -1, Listitem.getValue() is used.
      ascending - whether to sort as ascending (or descending).
      ignoreCase - whether to sort case-insensitive
    • ListitemComparator

      public ListitemComparator(int index, boolean ascending, boolean ignoreCase, boolean byValue)
      Compares with the column of the specified index.

      0 for the first column, 1 for the second and so on

      Note: -1 for Listitem.getValue() and it assumes the value implements Comparable.

      A null value is considered as the minimum value.

      Parameters:
      index - which column to compare. If -1, Listitem.getValue() is used.
      ascending - whether to sort as ascending (or descending).
      ignoreCase - whether to sort case-insensitive
      byValue - whether to compare Listcell.getValue(). If false, it compares LabelElement.getLabel(). If true, it assumes the value returned by Listcell.getValue() implements Comparable. It is ignored if the index is -1.
    • ListitemComparator

      public ListitemComparator(int index, boolean ascending, boolean ignoreCase, boolean byValue, boolean nullAsMax)
      Compares with the column of the specified index.

      0 for the first column, 1 for the second and so on

      Note: -1 for Listitem.getValue() and it assumes the value implements Comparable.

      Parameters:
      index - which column to compare. If -1, Listitem.getValue() is used.
      ascending - whether to sort as ascending (or descending).
      ignoreCase - whether to sort case-insensitive
      byValue - whether to compare Listcell.getValue(). If false, it compares LabelElement.getLabel(). If true, it assumes the value returned by Listcell.getValue() implements Comparable. It is ignored if the index is -1.
      nullAsMax - whether to consider null as the maximum value. If false, null is considered as the minimum value.
    • ListitemComparator

      public ListitemComparator(Listheader header, boolean ascending, boolean ignoreCase)
      Compares with the column which the list header is at.

      Note: it compares the returned value of LabelElement.getLabel(). If you want to compare Listcell.getValue()., use ListitemComparator(Listheader, boolean, boolean, boolean) instead.

      A null value is considered as the minimum value.

      Parameters:
      ascending - whether to sort as ascending (or descending).
      ignoreCase - whether to sort case-insensitive
    • ListitemComparator

      public ListitemComparator(Listheader header, boolean ascending, boolean ignoreCase, boolean byValue)
      Compares with the column which the list header is at.

      A null value is considered as the minimum value.

      Parameters:
      ascending - whether to sort as ascending (or descending).
      ignoreCase - whether to sort case-insensitive
      byValue - whether to compare Listcell.getValue(). If false, it compares LabelElement.getLabel().
    • ListitemComparator

      public ListitemComparator(Listheader header, boolean ascending, boolean ignoreCase, boolean byValue, boolean nullAsMax)
      Compares with the column which the list header is at.
      Parameters:
      ascending - whether to sort as ascending (or descending).
      ignoreCase - whether to sort case-insensitive
      byValue - whether to compare Listcell.getValue(). If false, it compares LabelElement.getLabel().
      nullAsMax - whether to consider null as the maximum value. If false, null is considered as the minimum value.
  • Method Details

    • getListheader

      public Listheader getListheader()
      Returns the listheader that this comparator is associated with, or null if not available.
    • isAscending

      public boolean isAscending()
      Returns whether the order is ascending.
    • shallIgnoreCase

      public boolean shallIgnoreCase()
      Returns whether to ignore case.
    • byValue

      public boolean byValue()
      Returns whether to compare the returned value of Listcell.getValue()
    • compare

      public int compare(Object o1, Object o2)
      Specified by:
      compare in interface Comparator
    • equals

      public boolean equals(Object o)
      Specified by:
      equals in interface Comparator
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object