public class QueryResultSet extends java.util.HashSet<Publication>
Publication
) from a query and their scores.Modifier and Type | Class and Description |
---|---|
static class |
QueryResultSet.ScoreComparator<T extends Publication>
This
Comparator compares two Object s using a score
retrieved from a map of Object to float . |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
REVISION |
Constructor and Description |
---|
QueryResultSet() |
Modifier and Type | Method and Description |
---|---|
boolean |
add(Publication pub,
float score)
Adds the given
Publication and its score to this
QueryResultSet . |
boolean |
addAll(java.util.Collection<? extends Publication> coll)
Overrides
AbstractCollection.addAll(Collection) to call
when addAll(QueryResultSet) if the specified collection is
a QueryResultSet . |
boolean |
addAll(java.util.Collection<? extends Publication> coll,
float score)
Adds all the
Publication in the specified collection to this
QueryResultSet . |
boolean |
addAll(PageResult<Publication> pr)
Adds the given
PageResult to this QueryResultSet . |
boolean |
addAll(QueryResultSet resultSet)
Adds all the
Publication in the specified result Set to this
QueryResultSet . |
void |
clear()
Clear all Object from this result set (also remove associated score).
|
java.util.SortedSet<Publication> |
getAsSortedSet()
Gets all the results contained in this
QueryResultSet as
a SortedSet (a TreeSet ) using the
ScoreComparator . |
java.util.SortedSet<Publication> |
getAsSortedSet(java.lang.Class<? extends Publication> typeClazz,
java.lang.String comparatorName,
boolean reverse)
Gets all the results contained in this
QueryResultSet as
a SortedSet (a TreeSet ) retrieving the appropriate
Comparator through ComparatorManager . |
java.util.SortedSet<Publication> |
getAsSortedSet(java.util.Comparator comparator)
Gets all the results contained in this
QueryResultSet as
a SortedSet (a TreeSet ) using the given
Comparator or none if null. |
java.util.SortedSet<Publication> |
getAsSortedSet(java.lang.String comparatorName,
boolean reverse)
Gets all the results contained in this
QueryResultSet as
a SortedSet (a TreeSet ) retrieving the appropriate
Comparator through ComparatorManager . |
java.lang.Object |
getAttribute(java.lang.String name)
Returns the value of the named attribute as an
Object ,
or null if no attribute of the given name exists. |
java.util.Map<java.lang.String,java.lang.Object> |
getAttributeMap()
Returns a java.util.Map of the attributes of this results.
|
float |
getMaxScore()
Retrieve the maximum score value available in this
QueryResultSet . |
int |
getResultSize() |
float |
getScore(java.lang.Object obj)
Deprecated.
|
float |
getScore(Publication pub)
Retrieve score of the specified
Publication . |
static java.util.Comparator |
getScoreComparator(QueryResultSet resultSet,
java.util.Comparator parentComparator)
Gets a new instance of a
ScoreComparator for relevance
sorting of the given QueryResultSet . |
PageResult.Status |
getStatus() |
int |
getTotalSize()
CAUTION: This is an internal method.
|
boolean |
isHybrid() |
boolean |
isTotalAccurate() |
java.util.Iterator<Publication> |
iterator()
Overrides
HashSet.iterator() to wrap the
native Iterator instance returned by the Java API with
a custom one making sure the max score is updated on removal. |
boolean |
remove(java.lang.Object o)
Remove the given Object from this result set (also remove associated score).
|
java.lang.Object |
removeAttribute(java.lang.String name)
Removes an attribute from this result.
|
boolean |
retainAll(java.util.Collection<?> coll)
Overrides
AbstractCollection.retainAll(Collection) to call
when retainAll(QueryResultSet) if the specified collection is
a QueryResultSet . |
boolean |
retainAll(QueryResultSet resultSet)
Retains only the elements in this
QueryResultSet that are contained in the
specified QueryResultSet . |
java.lang.Object |
setAttribute(java.lang.String name,
java.lang.Object obj)
Stores an attribute in this result.
|
void |
setHybrid(boolean isHybrid) |
void |
setStatus(PageResult.Status status) |
void |
setTotalAccurate(boolean isTotalAccurate)
Indicates if the total size accurate
|
void |
setTotalSize(int totalSize)
Assigns the total size of this
QueryResultSet . |
finalize, getClass, notify, notifyAll, wait, wait, wait
public static final java.lang.String REVISION
public java.lang.Object setAttribute(java.lang.String name, java.lang.Object obj)
removeAttribute(java.lang.String)
.name
- a String
specifying the name of the attributeobj
- the Object
to be storednull
if there was no mapping for name. A null
return can
also indicate that null
was associated
with the specified name.public java.lang.Object removeAttribute(java.lang.String name)
name
- a String
specifyingnull
if there was no mapping for name. A null
return can
also indicate that null
was associated
with the specified name.public java.lang.Object getAttribute(java.lang.String name)
Object
,
or null
if no attribute of the given name exists.name
- a String
specifying the name of the attributeObject
containing the value of the attribute,
or null
if the attribute does not existpublic java.util.Map<java.lang.String,java.lang.Object> getAttributeMap()
public boolean add(Publication pub, float score)
Publication
and its score to this
QueryResultSet
. Object
was already in this
QueryResultSet
for a given element, its score is replaced.pub
- the Publication
to add.score
- the new score of the Publication
true
if the set did not already contain the specified element.public boolean addAll(java.util.Collection<? extends Publication> coll, float score)
Publication
in the specified collection to this
QueryResultSet
. Collection
for a given element,
its score is replaced.coll
- collection whose elements are to be added to this collection.score
- the score of the Publication
in the
Collection
(should be between 0.0f and 1.0f)true
if this collection changed as a result of the call.public boolean addAll(QueryResultSet resultSet)
Publication
in the specified result Set to this
QueryResultSet
. Also puts all attribute of the specified
QueryResultSet into this QueryResultSet.Publication
was already in this QueryResultSet
,
it is replaced with its score in the given QueryResultSet
.resultSet
- QueryResultSet
whose elements are to be added to this QueryResultSet.true
if this collection changed as a result of the call.public boolean retainAll(QueryResultSet resultSet)
QueryResultSet
that are contained in the
specified QueryResultSet
. In other words, removes
from this QueryResultSet
all of its elements that are not contained in the
specified QueryResultSet
.
Also updates scores of elements kept in this QueryResultSet
if their
existing score are below the score of the specified QueryResultSet
.
resultSet
- elements to be retained in this collection.true
if this QueryResultSet
changed as a result of the call.public java.util.Iterator<Publication> iterator()
HashSet.iterator()
to wrap the
native Iterator
instance returned by the Java API with
a custom one making sure the max score is updated on removal.
Needed for bug fix JCMS-3368.
iterator
in interface java.lang.Iterable<Publication>
iterator
in interface java.util.Collection<Publication>
iterator
in interface java.util.Set<Publication>
iterator
in class java.util.HashSet<Publication>
HashSet.iterator()
public boolean addAll(java.util.Collection<? extends Publication> coll)
AbstractCollection.addAll(Collection)
to call
when addAll(QueryResultSet)
if the specified collection is
a QueryResultSet
.addAll
in interface java.util.Collection<Publication>
addAll
in interface java.util.Set<Publication>
addAll
in class java.util.AbstractCollection<Publication>
addAll(QueryResultSet)
,
AbstractCollection.addAll(Collection)
public boolean retainAll(java.util.Collection<?> coll)
AbstractCollection.retainAll(Collection)
to call
when retainAll(QueryResultSet)
if the specified collection is
a QueryResultSet
.retainAll
in interface java.util.Collection<Publication>
retainAll
in interface java.util.Set<Publication>
retainAll
in class java.util.AbstractCollection<Publication>
retainAll(QueryResultSet)
,
AbstractCollection.retainAll(Collection)
public boolean addAll(PageResult<Publication> pr)
PageResult
to this QueryResultSet
.pr
- the PageResult
true
if this QueryResultSet
changed as a result of the call.public boolean remove(java.lang.Object o)
remove
in interface java.util.Collection<Publication>
remove
in interface java.util.Set<Publication>
remove
in class java.util.HashSet<Publication>
HashSet.remove(java.lang.Object)
public void clear()
clear
in interface java.util.Collection<Publication>
clear
in interface java.util.Set<Publication>
clear
in class java.util.HashSet<Publication>
HashSet.clear()
@Deprecated public float getScore(java.lang.Object obj)
getScore(Publication)
Object
(a Publication
).obj
- the Object
(a Publication
)
from which to retrieve the score.obj
or 0.0f
if no score is available for this Object
.public float getScore(Publication pub)
Publication
.pub
- the Publication
from which to retrieve the score.obj
or 0.0f
if no score is available for this Publication
.public float getMaxScore()
QueryResultSet
.public java.util.SortedSet<Publication> getAsSortedSet()
QueryResultSet
as
a SortedSet
(a TreeSet
) using the
ScoreComparator
.
Because this method sort all the result in a new TreeSet
,
this method is expensive, be careful when using it.SortedSet
(a TreeSet
)
using ScoreComparator
.QueryResultSet.ScoreComparator
public java.util.SortedSet<Publication> getAsSortedSet(java.util.Comparator comparator)
QueryResultSet
as
a SortedSet
(a TreeSet
) using the given
Comparator
or none if null.
Because this method sort all the result in a new TreeSet
,
this method is expensive, be careful when using it.
comparator
- the Comparator
to use in the
SortedSet
, can be null to sort using natural order.SortedSet
(a TreeSet
)
using ScoreComparator
.QueryResultSet.ScoreComparator
public java.util.SortedSet<Publication> getAsSortedSet(java.lang.String comparatorName, boolean reverse)
QueryResultSet
as
a SortedSet
(a TreeSet
) retrieving the appropriate
Comparator
through ComparatorManager
.
Because this method sort all the result in a new TreeSet
,
this method is expensive, be careful when using it.
comparatorName
- the name of the Comparator
to use in the
SortedSet
, as available through ComparatorManager
.reverse
- a boolean indicating whether the comparator should have
its behavior reversed (true
) or unchanged (false
)SortedSet
public java.util.SortedSet<Publication> getAsSortedSet(java.lang.Class<? extends Publication> typeClazz, java.lang.String comparatorName, boolean reverse)
QueryResultSet
as
a SortedSet
(a TreeSet
) retrieving the appropriate
Comparator
through ComparatorManager
.
Because this method sort all the result in a new TreeSet
,
this method is expensive, be careful when using it.
typeClazz
- the Class of Publication to sortcomparatorName
- the name of the Comparator
to use in the
SortedSet
, as available through ComparatorManager
.reverse
- a boolean indicating whether the comparator should have
its behavior reversed (true
) or unchanged (false
)SortedSet
public static java.util.Comparator getScoreComparator(QueryResultSet resultSet, java.util.Comparator parentComparator)
ScoreComparator
for relevance
sorting of the given QueryResultSet
.resultSet
- the QueryResultSet
from which to retrieve
score of each Publication
.parentComparator
- the Comparator
to use when score of
compared Object
are identical.ScoreComparator
using the given parent Comparator.QueryResultSet.ScoreComparator
public int getTotalSize()
getResultSize()
.
Returns the total size of this QueryResultSet
(it may be much larger than getResultSize().size() with DB query).QueryResultSet
.public void setTotalSize(int totalSize)
QueryResultSet
.totalSize
- the new total size.public int getResultSize()
public boolean isHybrid()
public void setHybrid(boolean isHybrid)
public void setStatus(PageResult.Status status)
public PageResult.Status getStatus()
public boolean isTotalAccurate()
public void setTotalAccurate(boolean isTotalAccurate)
isTotalAccurate
- the valueCopyright © 2001-2022 Jalios SA. All Rights Reserved.