com.jalios.jcms
Class QueryResultSet.ScoreComparator<T extends Publication>

java.lang.Object
  extended by com.jalios.jstore.BasicStorable.CdateComparator<T>
      extended by com.jalios.jcms.comparator.BasicComparator<T>
          extended by com.jalios.jcms.QueryResultSet.ScoreComparator<T>
Type Parameters:
T -
All Implemented Interfaces:
Comparator<T>
Enclosing class:
QueryResultSet

public static class QueryResultSet.ScoreComparator<T extends Publication>
extends BasicComparator<T>

This Comparator compares two Objects using a score retrieved from a map of Object to float.
If two Storable have the same score, a "parent" compararator is used, default "parent" comparator is MdateComparator.
Note: because a high score must be first, it behaves in the opposite way of what Comparator says see the compare(Object, Object) method.

Since:
jcms-5.5.0
Version:
$Revision: 48646 $
Author:
Olivier Jaquemet

Field Summary
static String PARENT_COMPARATOR
           
static String QUERY_RESULT_SET
           
 
Fields inherited from class com.jalios.jcms.comparator.BasicComparator
channel, contextMap, jcmsContext, language, locale
 
Constructor Summary
QueryResultSet.ScoreComparator()
          Initialize a ScoreComparator from the contextual information retrieved through ComparatorManager parameter
QueryResultSet.ScoreComparator(QueryResultSet resultSet, Comparator parentComparator)
          Initialize a ScoreComparator using the given parent Comparator, if null, default with MdateComparator.
 
Method Summary
 int compare(T o1, T o2)
          Compare two Object using their score from the QueryResulSet.
 
Methods inherited from class com.jalios.jstore.BasicStorable.CdateComparator
compareDate
 
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
 

Field Detail

PARENT_COMPARATOR

public static final String PARENT_COMPARATOR
See Also:
Constant Field Values

QUERY_RESULT_SET

public static final String QUERY_RESULT_SET
See Also:
Constant Field Values
Constructor Detail

QueryResultSet.ScoreComparator

public QueryResultSet.ScoreComparator()
Initialize a ScoreComparator from the contextual information retrieved through ComparatorManager parameter

Throws:
IllegalArgumentException - if QueryResultSet is null

QueryResultSet.ScoreComparator

public QueryResultSet.ScoreComparator(QueryResultSet resultSet,
                                      Comparator parentComparator)
Initialize a ScoreComparator using the given parent Comparator, if null, default with MdateComparator.

Parameters:
resultSet - the QueryResultSet from which to retrieve score of each Publication.
parentComparator - the Comparator to use when score of compared Object are identical.
Throws:
IllegalArgumentException - if QueryResultSet is null
Method Detail

compare

public int compare(T o1,
                   T o2)
Compare two Object using their score from the QueryResulSet. If score are equals, use the parent Comparator.

Specified by:
compare in interface Comparator<T extends Publication>
Overrides:
compare in class BasicStorable.CdateComparator<T extends Publication>
Returns:
1 when o1 has a lower score than o2, -1 when has o1 higher score than o2 and returns parentComparator.compare value when scores are equals.


Copyright © 2001-2010 Jalios SA. All Rights Reserved.