com.metamatrix.query.processor.relational
Class ListNestedSortComparator

java.lang.Object
  extended by com.metamatrix.query.processor.relational.ListNestedSortComparator
All Implemented Interfaces:
java.io.Serializable, java.util.Comparator

public class ListNestedSortComparator
extends java.lang.Object
implements java.util.Comparator, java.io.Serializable

This class can be used for comparing lists of elements, when the fields to be sorted on and the comparison mechanism are dynamically specified.

Typically, the lists are records in a collection that is to be sorted.

Example

    Records...
      { "a1", "b1", "c1" } 
      { "a1", "b1", "c2" }
      { "a1", "b2", "c1" }
      { "a1", "b2", "c2" }
      { "a2", "b1", "c1" } 
      { "a2", "b1", "c2" } 
      { "a2", "b2", "c1" } 
      { "a2", "b2", "c2" }

    Records sorted in ascending order on columns 0, 2...
      { "a1", "b1", "c1" } 
      { "a1", "b2", "c1" }
      { "a1", "b2", "c2" }
      { "a1", "b1", "c2" }
      { "a2", "b1", "c1" } 
      { "a2", "b2", "c1" } 
      { "a2", "b1", "c2" } 
      { "a2", "b2", "c2" } 
 

See Also:
Serialized Form

Constructor Summary
ListNestedSortComparator(int[] sortParameters)
          Constructs an instance of this class given the indicies of the parameters to sort on, and whether the sort should be in ascending or descending order.
ListNestedSortComparator(int[] sortParameters, boolean ascending)
          Constructs an instance of this class given the indicies of the parameters to sort on, and whether the sort should be in ascending or descending order.
ListNestedSortComparator(int[] sortParameters, java.util.List orderTypes)
          Constructs an instance of this class given the indicies of the parameters to sort on, and orderList used to determine the order in which each column is sorted.
 
Method Summary
 int compare(java.lang.Object o1, java.lang.Object o2)
          Compares its two arguments for order.
 boolean isDistinct()
           
 void setDistinctIndex(int distinctIndex)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Comparator
equals
 

Constructor Detail

ListNestedSortComparator

public ListNestedSortComparator(int[] sortParameters)
Constructs an instance of this class given the indicies of the parameters to sort on, and whether the sort should be in ascending or descending order.


ListNestedSortComparator

public ListNestedSortComparator(int[] sortParameters,
                                boolean ascending)
Constructs an instance of this class given the indicies of the parameters to sort on, and whether the sort should be in ascending or descending order.


ListNestedSortComparator

public ListNestedSortComparator(int[] sortParameters,
                                java.util.List orderTypes)
Constructs an instance of this class given the indicies of the parameters to sort on, and orderList used to determine the order in which each column is sorted.

Method Detail

isDistinct

public boolean isDistinct()

setDistinctIndex

public void setDistinctIndex(int distinctIndex)

compare

public int compare(java.lang.Object o1,
                   java.lang.Object o2)
Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

The compare method returns

Specified by:
compare in interface java.util.Comparator
Parameters:
o1 - The first object being compared
o2 - The second object being compared


Copyright © 2009. All Rights Reserved.