com.jalios.jcms
Class QueryResultSet.ScoreComparator<T extends Publication>
java.lang.Object
com.jalios.jstore.BasicStorable.CdateComparator<T>
com.jalios.jcms.comparator.BasicComparator<T>
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
|
Method Summary |
int |
compare(T o1,
T o2)
Compare two Object using their score from the QueryResulSet. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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
QueryResultSet.ScoreComparator
public QueryResultSet.ScoreComparator()
- Initialize a
ScoreComparator from the contextual information
retrieved through ComparatorManager parameter
- A parent
Comparator, is retrieved using attribute
PARENT_COMPARATOR, if null, default with MdateComparator.
- The
QueryResultSet, is retrieved using attribute
QUERY_RESULT_SET, must not be null.
- 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
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.