Package org.zkoss.zul

Class ListitemComparator

  • All Implemented Interfaces:
    java.io.Serializable, java.util.Comparator

    public class ListitemComparator
    extends java.lang.Object
    implements java.util.Comparator, java.io.Serializable
    A comparator used to compare Listitem, if not live data, or the data themselves, if live data.
    Author:
    tomyeh
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      ListitemComparator()
      Compares with Listitem.getValue().
      ListitemComparator​(int index)
      Compares with the column of the specified index.
      ListitemComparator​(int index, boolean ascending, boolean ignoreCase)
      Compares with the column of the specified index.
      ListitemComparator​(int index, boolean ascending, boolean ignoreCase, boolean byValue)
      Compares with the column of the specified index.
      ListitemComparator​(int index, boolean ascending, boolean ignoreCase, boolean byValue, boolean nullAsMax)
      Compares with the column of the specified index.
      ListitemComparator​(Listheader header, boolean ascending, boolean ignoreCase)
      Compares with the column which the list header is at.
      ListitemComparator​(Listheader header, boolean ascending, boolean ignoreCase, boolean byValue)
      Compares with the column which the list header is at.
      ListitemComparator​(Listheader header, boolean ascending, boolean ignoreCase, boolean byValue, boolean nullAsMax)
      Compares with the column which the list header is at.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean byValue()
      Returns whether to compare the returned value of Listcell.getValue()
      int compare​(java.lang.Object o1, java.lang.Object o2)  
      boolean equals​(java.lang.Object o)  
      Listheader getListheader()
      Returns the listheader that this comparator is associated with, or null if not available.
      int hashCode()  
      boolean isAscending()
      Returns whether the order is ascending.
      boolean shallIgnoreCase()
      Returns whether to ignore case.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Comparator

        reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
    • Constructor Detail

      • 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,
                                  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 Detail

      • 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​(java.lang.Object o1,
                           java.lang.Object o2)
        Specified by:
        compare in interface java.util.Comparator
      • equals

        public boolean equals​(java.lang.Object o)
        Specified by:
        equals in interface java.util.Comparator
        Overrides:
        equals in class java.lang.Object
      • hashCode

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

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object