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

io.ebean.event.BeanFindController Maven / Gradle / Ivy

There is a newer version: 15.8.0
Show newest version
package io.ebean.event;

import io.ebean.bean.BeanCollection;

/**
 * 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. *

*/ public interface BeanFindController { /** * Return true if this BeanPersistController should be registered for events * on this entity type. */ boolean isRegisterFor(Class cls); /** * Return true if this controller should intercept and process this find request. *

* Return false to allow the default behavior to process the request. */ boolean isInterceptFind(BeanQueryRequest request); /** * Find a bean using its id or unique predicate. */ T find(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. */ boolean isInterceptFindMany(BeanQueryRequest 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. *

*/ BeanCollection findMany(BeanQueryRequest request); /** * Allows post-processing of the find result. */ default BeanCollection postProcessMany(BeanQueryRequest request, BeanCollection result) { return result; } /** * Allows post-processing of the find result. */ default T postProcess(BeanQueryRequest request, T result) { return result; }; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy