Interface IndexedQuery<E>

All Known Implementing Classes:
IndexedQueryImpl

public interface IndexedQuery<E>
A query that uses indexing.
Since:
11.0
  • Method Details

    • list

      default List<E> list()
      Returns:
      the results of a search as a list.
    • firstResult

      IndexedQuery<E> firstResult(int index)
      Sets the index of the first result, skipping the previous ones. Used for pagination.
      Parameters:
      index - of the first result
      Throws:
      IllegalArgumentException - if the index given is less than zero.
    • maxResults

      IndexedQuery<E> maxResults(int maxResults)
      Sets the maximum number of results to return from the query. Used for pagination.
      Parameters:
      maxResults - the maximum number of results to return.
    • hitCountAccuracy

      IndexedQuery<E> hitCountAccuracy(int hitCountAccuracy)
      Limit the required accuracy of the hit count for the indexed queries to an upper-bound. Setting the hit-count-accuracy could improve the performance of queries targeting large data sets.
      Parameters:
      hitCountAccuracy - The value to apply
      Returns:
      this, for method chaining
    • iterator

      CloseableIterator<E> iterator()
    • entryIterator

      <K> CloseableIterator<Map.Entry<K,E>> entryIterator()
      Returns the matching entries (both key and value).

      NOTE: The query must not contain any projections or an exception will be thrown.

    • execute

      QueryResult<?> execute()
      Executes an Ickle statement returning results (query aka. SELECT). If the statement happens to be a DELETE it redirects it to executeStatement().

      NOTE: Paging params (firstResult/maxResults) are honoured for SELECT and dissalowed for DELETE.

    • executeStatement

      int executeStatement()
      Executes an Ickle statement not returning any results (ie. DELETE).

      NOTE: Paging params (firstResult/maxResults) are NOT allowed.

      Returns:
      the number of affected entries
    • getResultSize

      int getResultSize()
    • timeout

      IndexedQuery<E> timeout(long timeout, TimeUnit timeUnit)
      Set the timeout for this query. If the query hasn't finished processing before the timeout, an exception will be thrown.
      Parameters:
      timeout - the timeout duration
      timeUnit - the time unit of the timeout parameter