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

com.avaje.ebean.delegate.InterceptFind Maven / Gradle / Ivy

package com.avaje.ebean.delegate;

import com.avaje.ebean.FutureIds;
import com.avaje.ebean.FutureList;
import com.avaje.ebean.FutureRowCount;
import com.avaje.ebean.PagedList;
import com.avaje.ebean.Query;
import com.avaje.ebean.QueryEachConsumer;
import com.avaje.ebean.QueryEachWhileConsumer;
import com.avaje.ebean.Transaction;
import com.avaje.ebean.Version;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * Provides an adaption layer for find methods.
 */
public interface InterceptFind {

  void refresh(Object bean);

  void refreshMany(Object bean, String propertyName);

   T findUnique(Query query, Transaction transaction);

   T find(Class beanType, Object id, Transaction transaction);

   int findRowCount(Query query, Transaction transaction);

   List findIds(Query query, Transaction transaction);

   void findEach(Query query, QueryEachConsumer consumer, Transaction transaction);

   void findEachWhile(Query query, QueryEachWhileConsumer consumer, Transaction transaction);

   List findList(Query query, Transaction transaction);

   FutureRowCount findFutureRowCount(Query query, Transaction transaction);

   FutureIds findFutureIds(Query query, Transaction transaction);

   FutureList findFutureList(Query query, Transaction transaction);

   PagedList findPagedList(Query query, Transaction transaction);

   Set findSet(Query query, Transaction transaction);

   Map findMap(Query query, Transaction transaction);

   List> findVersions(Query query, Transaction transaction);

}