Class ReactivePanacheQueryImpl<Entity>
java.lang.Object
io.quarkus.mongodb.panache.reactive.runtime.ReactivePanacheQueryImpl<Entity>
- All Implemented Interfaces:
ReactivePanacheQuery<Entity>
public class ReactivePanacheQueryImpl<Entity>
extends Object
implements ReactivePanacheQuery<Entity>
-
Constructor Summary
ConstructorsConstructorDescriptionReactivePanacheQueryImpl(io.quarkus.mongodb.reactive.ReactiveMongoCollection<? extends Entity> collection, org.bson.conversions.Bson mongoQuery, org.bson.conversions.Bson sort) -
Method Summary
Modifier and TypeMethodDescriptionio.smallrye.mutiny.Uni<Long>count()Reads and caches the total number of entities this query operates on.<T extends Entity>
ReactivePanacheQuery<T>Sets the current page to the first page<T extends Entity>
io.smallrye.mutiny.Uni<T>Returns the first result of the current page index.Returns the first result of the current page index.io.smallrye.mutiny.Uni<Boolean>Returns true if there is another page to read after the current one.booleanReturns true if there is a page to read before the current one.<T extends Entity>
io.smallrye.mutiny.Uni<ReactivePanacheQuery<T>>lastPage()Sets the current page to the last page.list()Returns the current page of results as aList.<T extends Entity>
ReactivePanacheQuery<T>nextPage()Sets the current page to the next pagepage()Returns the current page.<T extends Entity>
ReactivePanacheQuery<T>page(int pageIndex, int pageSize) Sets the current page.<T extends Entity>
ReactivePanacheQuery<T>Sets the current page.io.smallrye.mutiny.Uni<Integer>Returns the total number of pages to be read using the current page size.<T extends Entity>
ReactivePanacheQuery<T>Sets the current page to the previous page (or the first page if there is no previous page)<T> ReactivePanacheQuery<T>Defines a projection class: the getters, and the public fields, will be used to restrict which fields should be retrieved from the database.<T extends Entity>
ReactivePanacheQuery<T>range(int startIndex, int lastIndex) Switch the query to use a fixed range (start index - last index) instead of a page.<T extends Entity>
io.smallrye.mutiny.Uni<T>Executes this query for the current page and return a single result.Executes this query for the current page and return a single result.<T extends Entity>
io.smallrye.mutiny.Multi<T>stream()Returns the current page of results as aStream.<T extends Entity>
ReactivePanacheQuery<T>withBatchSize(int batchSize) Define the batch size for this query.<T extends Entity>
ReactivePanacheQuery<T>withCollation(com.mongodb.client.model.Collation collation) Define the collation used for this query.<T extends Entity>
ReactivePanacheQuery<T>withReadPreference(com.mongodb.ReadPreference readPreference) Define the read preference used for this query.
-
Constructor Details
-
ReactivePanacheQueryImpl
ReactivePanacheQueryImpl(io.quarkus.mongodb.reactive.ReactiveMongoCollection<? extends Entity> collection, org.bson.conversions.Bson mongoQuery, org.bson.conversions.Bson sort)
-
-
Method Details
-
project
Description copied from interface:ReactivePanacheQueryDefines a projection class: the getters, and the public fields, will be used to restrict which fields should be retrieved from the database.- Specified by:
projectin interfaceReactivePanacheQuery<Entity>- Returns:
-
page
Description copied from interface:ReactivePanacheQuerySets the current page.- Specified by:
pagein interfaceReactivePanacheQuery<Entity>- Parameters:
page- the new page- Returns:
- this query, modified
- See Also:
-
page
Description copied from interface:ReactivePanacheQuerySets the current page.- Specified by:
pagein interfaceReactivePanacheQuery<Entity>- Parameters:
pageIndex- the page index (0-based)pageSize- the page size- Returns:
- this query, modified
- See Also:
-
nextPage
Description copied from interface:ReactivePanacheQuerySets the current page to the next page- Specified by:
nextPagein interfaceReactivePanacheQuery<Entity>- Returns:
- this query, modified
- See Also:
-
previousPage
Description copied from interface:ReactivePanacheQuerySets the current page to the previous page (or the first page if there is no previous page)- Specified by:
previousPagein interfaceReactivePanacheQuery<Entity>- Returns:
- this query, modified
- See Also:
-
firstPage
Description copied from interface:ReactivePanacheQuerySets the current page to the first page- Specified by:
firstPagein interfaceReactivePanacheQuery<Entity>- Returns:
- this query, modified
- See Also:
-
lastPage
Description copied from interface:ReactivePanacheQuerySets the current page to the last page. This will cause reading of the entity count.- Specified by:
lastPagein interfaceReactivePanacheQuery<Entity>- Returns:
- this query, modified
- See Also:
-
hasNextPage
Description copied from interface:ReactivePanacheQueryReturns true if there is another page to read after the current one. This will cause reading of the entity count.- Specified by:
hasNextPagein interfaceReactivePanacheQuery<Entity>- Returns:
- true if there is another page to read
- See Also:
-
hasPreviousPage
public boolean hasPreviousPage()Description copied from interface:ReactivePanacheQueryReturns true if there is a page to read before the current one.- Specified by:
hasPreviousPagein interfaceReactivePanacheQuery<Entity>- Returns:
- true if there is a previous page to read
- See Also:
-
pageCount
Description copied from interface:ReactivePanacheQueryReturns the total number of pages to be read using the current page size. This will cause reading of the entity count.- Specified by:
pageCountin interfaceReactivePanacheQuery<Entity>- Returns:
- the total number of pages to be read using the current page size.
-
page
Description copied from interface:ReactivePanacheQueryReturns the current page.- Specified by:
pagein interfaceReactivePanacheQuery<Entity>- Returns:
- the current page
- See Also:
-
range
Description copied from interface:ReactivePanacheQuerySwitch the query to use a fixed range (start index - last index) instead of a page. As the range is fixed, subsequent pagination of the query is not possible.- Specified by:
rangein interfaceReactivePanacheQuery<Entity>- Parameters:
startIndex- the index of the first element, starting at 0lastIndex- the index of the last element- Returns:
- this query, modified
-
withCollation
public <T extends Entity> ReactivePanacheQuery<T> withCollation(com.mongodb.client.model.Collation collation) Description copied from interface:ReactivePanacheQueryDefine the collation used for this query.- Specified by:
withCollationin interfaceReactivePanacheQuery<Entity>- Parameters:
collation- the collation to be used for this query.- Returns:
- this query, modified
-
withReadPreference
public <T extends Entity> ReactivePanacheQuery<T> withReadPreference(com.mongodb.ReadPreference readPreference) Description copied from interface:ReactivePanacheQueryDefine the read preference used for this query.- Specified by:
withReadPreferencein interfaceReactivePanacheQuery<Entity>- Parameters:
readPreference- the read preference to be used for this query.- Returns:
- this query, modified
-
withBatchSize
Description copied from interface:ReactivePanacheQueryDefine the batch size for this query.- Specified by:
withBatchSizein interfaceReactivePanacheQuery<Entity>- Parameters:
batchSize- the batch size to be used for this query.- Returns:
- this query, modified
-
count
Description copied from interface:ReactivePanacheQueryReads and caches the total number of entities this query operates on. This causes a database query withSELECT COUNT(*)and a query equivalent to the current query, minus ordering.- Specified by:
countin interfaceReactivePanacheQuery<Entity>- Returns:
- the total number of entities this query operates on, cached.
-
list
Description copied from interface:ReactivePanacheQueryReturns the current page of results as aList.- Specified by:
listin interfaceReactivePanacheQuery<Entity>- Returns:
- the current page of results as a
List. - See Also:
-
stream
Description copied from interface:ReactivePanacheQueryReturns the current page of results as aStream.- Specified by:
streamin interfaceReactivePanacheQuery<Entity>- Returns:
- the current page of results as a
Stream. - See Also:
-
firstResult
Description copied from interface:ReactivePanacheQueryReturns the first result of the current page index. This ignores the current page size to fetch a single result.- Specified by:
firstResultin interfaceReactivePanacheQuery<Entity>- Returns:
- the first result of the current page index, or null if there are no results.
- See Also:
-
firstResultOptional
Description copied from interface:ReactivePanacheQueryReturns the first result of the current page index. This ignores the current page size to fetch a single result.- Specified by:
firstResultOptionalin interfaceReactivePanacheQuery<Entity>- Returns:
- if found, an optional containing the entity, else
Optional.empty(). - See Also:
-
singleResult
Description copied from interface:ReactivePanacheQueryExecutes this query for the current page and return a single result.- Specified by:
singleResultin interfaceReactivePanacheQuery<Entity>- Returns:
- the single result.
- See Also:
-
singleResultOptional
Description copied from interface:ReactivePanacheQueryExecutes this query for the current page and return a single result.- Specified by:
singleResultOptionalin interfaceReactivePanacheQuery<Entity>- Returns:
- if found, an optional containing the entity, else
Optional.empty(). - See Also:
-