Package org.nuxeo.elasticsearch.core
Class EsResultSetImpl
- java.lang.Object
-
- org.nuxeo.elasticsearch.core.EsResultSetImpl
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Iterable<Map<String,Serializable>>
,Iterator<Map<String,Serializable>>
,IterableQueryResult
public class EsResultSetImpl extends Object implements IterableQueryResult, Iterator<Map<String,Serializable>>
Iterable query result of the results of an Elasticsearch query.Loads all results in memory.
- Since:
- 7.2
-
-
Constructor Summary
Constructors Constructor Description EsResultSetImpl(org.elasticsearch.action.search.SearchResponse response, Map<String,Type> selectFieldsAndTypes)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected List<Map<String,Serializable>>
buildMaps()
void
close()
Closes the query result and releases the underlying resources held by the cursor.boolean
hasNext()
boolean
isLife()
Indicates if the query result has not been closedIterator<Map<String,Serializable>>
iterator()
boolean
mustBeClosed()
Indicates if the query result must be closed (because it holds resources).Map<String,Serializable>
next()
long
pos()
Gets the current position in the iterator.long
size()
Returns the number of results available in the iterator.void
skipTo(long pos)
Skips to a given position in the iterator.long
totalSize()
Returns the total number of result that match the query.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from interface java.util.Iterator
forEachRemaining, remove
-
-
-
-
Field Detail
-
maps
protected List<Map<String,Serializable>> maps
-
size
protected long size
-
-
Method Detail
-
buildMaps
protected List<Map<String,Serializable>> buildMaps()
-
close
public void close()
Description copied from interface:IterableQueryResult
Closes the query result and releases the underlying resources held by the cursor.This MUST be called when the query result is no more needed, otherwise underlying resources will be leaked. There is no auto-closing at the end of the iteration.
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceIterableQueryResult
-
isLife
public boolean isLife()
Description copied from interface:IterableQueryResult
Indicates if the query result has not been closed- Specified by:
isLife
in interfaceIterableQueryResult
-
mustBeClosed
public boolean mustBeClosed()
Description copied from interface:IterableQueryResult
Indicates if the query result must be closed (because it holds resources).- Specified by:
mustBeClosed
in interfaceIterableQueryResult
- Returns:
true
if the query result must be closed,false
otherwise
-
size
public long size()
Returns the number of results available in the iterator. Note that before 9.1 this method was returning the totalSize.- Specified by:
size
in interfaceIterableQueryResult
- Returns:
- the size, or
-1
for an unknown size - Since:
- 9.1
-
totalSize
public long totalSize()
Returns the total number of result that match the query.- Since:
- 9.1
-
pos
public long pos()
Description copied from interface:IterableQueryResult
Gets the current position in the iterator.Positions start at
0
.- Specified by:
pos
in interfaceIterableQueryResult
- Returns:
- the position
-
skipTo
public void skipTo(long pos)
Description copied from interface:IterableQueryResult
Skips to a given position in the iterator.Positions start at
0
.- Specified by:
skipTo
in interfaceIterableQueryResult
-
iterator
public Iterator<Map<String,Serializable>> iterator()
- Specified by:
iterator
in interfaceIterable<Map<String,Serializable>>
-
hasNext
public boolean hasNext()
- Specified by:
hasNext
in interfaceIterator<Map<String,Serializable>>
-
next
public Map<String,Serializable> next()
- Specified by:
next
in interfaceIterator<Map<String,Serializable>>
-
-