Module io.ebean.api

Interface BeanFindController


public interface BeanFindController
Used to override the finding implementation for a bean.

For beans that are not in a JDBC data source you can implement this handle bean finding. For example, read a log file building each entry as a bean and returning that.

There are a number of internal BeanFinders in Ebean to return meta data from Ebean at runtime such as query execution statistics etc.

  • Method Details

    • isRegisterFor

      boolean isRegisterFor(Class<?> cls)
      Return true if this BeanPersistController should be registered for events on this entity type.
    • isInterceptFind

      boolean isInterceptFind(BeanQueryRequest<?> request)
      Return true if this controller should intercept and process this find request.

      Return false to allow the default behavior to process the request.

    • find

      <T> T find(BeanQueryRequest<T> request)
      Find a bean using its id or unique predicate.
    • isInterceptFindMany

      boolean isInterceptFindMany(BeanQueryRequest<?> request)
      Return true if this controller should intercept and process this findMany request.

      Return false to allow the default behavior to process the request.

    • findMany

      <T> BeanCollection<T> findMany(BeanQueryRequest<T> request)
      Return a List, Set or Map for the given find request.

      Note the returning object is cast to a List Set or Map so you do need to get the return type right.

    • postProcessMany

      default <T> BeanCollection<T> postProcessMany(BeanQueryRequest<T> request, BeanCollection<T> result)
      Allows post-processing of the find result.
    • postProcess

      default <T> T postProcess(BeanQueryRequest<T> request, T result)
      Allows post-processing of the find result.