Package org.zkoss.zul

Class RowComparator

java.lang.Object
org.zkoss.zul.RowComparator
All Implemented Interfaces:
Serializable, Comparator<Object>

public class RowComparator extends Object implements Comparator<Object>, Serializable
A comparator used to compare Row, if not live data, or the data themselves, if live data.
Since:
3.6.0
Author:
jumperchen
See Also:
  • Constructor Details

    • RowComparator

      public RowComparator()
      Compares with Label.getValue().

      It assumes the value returned by the label indexing in AbstractComponent.getChildren().

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

    • RowComparator

      public RowComparator(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 Row.getValue() and it assumes the value implements Comparable.

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

      A null value is considered as the minimum value.

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

      public RowComparator(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 Row.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, Label.getValue() is used.
      ascending - whether to sort as ascending (or descending).
      ignoreCase - whether to sort case-insensitive
    • RowComparator

      public RowComparator(int index, boolean ascending, boolean ignoreCase, 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 Row.getValue() and it assumes the value implements Comparable.

      Parameters:
      index - which column to compare. If -1, Row.getValue() is used.
      ascending - whether to sort as ascending (or descending).
      ignoreCase - whether to sort case-insensitive
      nullAsMax - whether to consider null as the maximum value. If false, null is considered as the minimum value.
    • RowComparator

      public RowComparator(Column header, boolean ascending, boolean ignoreCase, boolean nullAsMax)
      Compares with the column.
      Parameters:
      ascending - whether to sort as ascending (or descending).
      ignoreCase - whether to sort case-insensitive
      nullAsMax - whether to consider null as the maximum value. If false, null is considered as the minimum value.
  • Method Details

    • getColumn

      public Column getColumn()
      Returns the column 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.
    • compare

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

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

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

      public String toString()
      Overrides:
      toString in class Object