001package com.avaje.ebean.delegate; 002 003import com.avaje.ebean.FutureIds; 004import com.avaje.ebean.FutureList; 005import com.avaje.ebean.FutureRowCount; 006import com.avaje.ebean.PagedList; 007import com.avaje.ebean.Query; 008import com.avaje.ebean.QueryEachConsumer; 009import com.avaje.ebean.QueryEachWhileConsumer; 010import com.avaje.ebean.Transaction; 011import com.avaje.ebean.Version; 012 013import java.util.List; 014import java.util.Map; 015import java.util.Set; 016 017/** 018 * Provides an adaption layer for find methods. 019 */ 020public interface InterceptFind { 021 022 void refresh(Object bean); 023 024 void refreshMany(Object bean, String propertyName); 025 026 <T> T findUnique(Query<T> query, Transaction transaction); 027 028 <T> T find(Class<T> beanType, Object id, Transaction transaction); 029 030 <T> int findRowCount(Query<T> query, Transaction transaction); 031 032 <T> List<Object> findIds(Query<T> query, Transaction transaction); 033 034 <T> void findEach(Query<T> query, QueryEachConsumer<T> consumer, Transaction transaction); 035 036 <T> void findEachWhile(Query<T> query, QueryEachWhileConsumer<T> consumer, Transaction transaction); 037 038 <T> List<T> findList(Query<T> query, Transaction transaction); 039 040 <T> FutureRowCount<T> findFutureRowCount(Query<T> query, Transaction transaction); 041 042 <T> FutureIds<T> findFutureIds(Query<T> query, Transaction transaction); 043 044 <T> FutureList<T> findFutureList(Query<T> query, Transaction transaction); 045 046 <T> PagedList<T> findPagedList(Query<T> query, Transaction transaction); 047 048 <T> Set<T> findSet(Query<T> query, Transaction transaction); 049 050 <T> Map<?, T> findMap(Query<T> query, Transaction transaction); 051 052 <T> List<Version<T>> findVersions(Query<T> query, Transaction transaction); 053 054}