Package org.zkoss.zul

Class TreeitemComparator

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

public class TreeitemComparator extends Object implements Comparator, Serializable
A comparator used to compare Treeitem, if not live data, or the data themselves, if live data.
Since:
5.0.6
Author:
jimmy
See Also:
  • Constructor Details

    • TreeitemComparator

      public TreeitemComparator()
      Compares with Treeitem.getValue().

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

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

    • TreeitemComparator

      public TreeitemComparator(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 Treeitem.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 TreeitemComparator(int, boolean, boolean, boolean) instead.

      A null value is considered as the minimum value.

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

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

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

      A null value is considered as the minimum value.

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

      public TreeitemComparator(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 Treeitem.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, Treeitem.getValue() is used.
      ascending - whether to sort as ascending (or descending).
      ignoreCase - whether to sort case-insensitive
      byValue - whether to compare Treeitem.getValue(). If false, it compares LabelElement.getLabel(). If true, it assumes the value returned by Treeitem.getValue() implements Comparable. It is ignored if the index is -1.
    • TreeitemComparator

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

      Parameters:
      index - which column to compare. If -1, Treeitem.getValue() is used.
      ascending - whether to sort as ascending (or descending).
      ignoreCase - whether to sort case-insensitive
      byValue - whether to compare Treeitem.getValue(). If false, it compares LabelElement.getLabel(). If true, it assumes the value returned by Treeitem.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.
    • TreeitemComparator

      public TreeitemComparator(Treecol treecol, boolean ascending, boolean ignoreCase)
      Compares with the column which the tree header is at.

      Note: it compares the returned value of LabelElement.getLabel(). If you want to compare Treeitem.getValue()., use TreeitemComparator(Treecol, 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
    • TreeitemComparator

      public TreeitemComparator(Treecol treecol, boolean ascending, boolean ignoreCase, boolean byValue)
      Compares with the column which the tree 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 Treeitem.getValue(). If false, it compares LabelElement.getLabel().
    • TreeitemComparator

      public TreeitemComparator(Treecol treecol, boolean ascending, boolean ignoreCase, boolean byValue, boolean nullAsMax)
      Compares with the column which the tree header is at.
      Parameters:
      ascending - whether to sort as ascending (or descending).
      ignoreCase - whether to sort case-insensitive
      byValue - whether to compare Treeitem.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

    • getTreecol

      public Treecol getTreecol()
      Returns the Treecol 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 Treeitem.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