org.zkoss.zul
Class ListitemComparator

java.lang.Object
  extended by org.zkoss.zul.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
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
 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
 

Constructor Detail

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 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


Copyright © 2005-2011 Potix Corporation. All Rights Reserved. SourceForge.net Logo