Module io.ebean.api

Interface BeanQueryAdapter


public interface BeanQueryAdapter
Objects extending this modify queries prior their execution.

This can be used to add expressions to a query - for example to enable partitioning based on the user executing the query.

A BeanQueryAdapter is either found automatically via class path search or can be added programmatically via DatabaseConfig.add(BeanQueryAdapter).

Note that a BeanQueryAdapter should be thread safe (stateless) and if registered automatically via class path search it needs to have a default constructor.

  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Returns an int to to control the order in which BeanQueryAdapter are executed when there is multiple of them registered for a given entity type (class).
    boolean
    Return true if this adapter is interested in queries for the given entity type.
    void
    Modify the associated query prior to it being executed.
  • Method Details

    • isRegisterFor

      boolean isRegisterFor(Class<?> cls)
      Return true if this adapter is interested in queries for the given entity type.
    • getExecutionOrder

      int getExecutionOrder()
      Returns an int to to control the order in which BeanQueryAdapter are executed when there is multiple of them registered for a given entity type (class).
    • preQuery

      void preQuery(BeanQueryRequest<?> request)
      Modify the associated query prior to it being executed.