All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.ebeaninternal.api.SpiDtoQuery Maven / Gradle / Ivy

There is a newer version: 15.8.0
Show newest version
package io.ebeaninternal.api;

import io.ebean.DtoQuery;
import io.ebean.ProfileLocation;
import io.ebean.Transaction;
import io.ebeaninternal.server.dto.DtoMappingRequest;
import io.ebeaninternal.server.dto.DtoQueryPlan;

/**
 * Internal extension to DtoQuery.
 */
public interface SpiDtoQuery extends DtoQuery, SpiSqlBinding {

  /**
   * Return the key for query plan.
   */
  String planKey();

  /**
   * Get the query plan for the cache.
   */
  DtoQueryPlan queryPlan(Object planKey);

  /**
   * Build the query plan.
   */
  DtoQueryPlan buildPlan(DtoMappingRequest request);

  /**
   * Put the query plan into the cache.
   */
  void putQueryPlan(Object planKey, DtoQueryPlan plan);

  /**
   * Return true if the query is in relaxed mapping mode.
   */
  boolean isRelaxedMode();

  /**
   * Return the label with fallback to profile location label.
   */
  String planLabel();

  /**
   * Obtain the location if necessary.
   */
  void obtainLocation();

  /**
   * Return the profile location.
   */
  ProfileLocation profileLocation();

  /**
   * Return the associated DTO bean type.
   */
  Class type();

  /**
   * Return an underlying ORM query (if this query is built from an ORM query).
   */
  SpiQuery ormQuery();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy