001package com.avaje.ebeanservice.docstore.api;
002
003import com.avaje.ebean.text.json.JsonReadOptions;
004import com.avaje.ebeaninternal.api.SpiQuery;
005
006/**
007 * A Query request for the document store.
008 */
009public interface DocQueryRequest<T> {
010
011  /**
012   * Return the query for this request.
013   */
014  SpiQuery<T> getQuery();
015
016  /**
017   * Create JsonReadOptions taking into account persistence context and lazy loading support.
018   */
019  JsonReadOptions createJsonReadOptions();
020
021  /**
022   * Execute secondary queries.
023   */
024  void executeSecondaryQueries(boolean forEach);
025
026}