001package com.avaje.ebean.delegate; 002 003import com.avaje.ebean.EbeanServer; 004import com.avaje.ebean.QueryEachConsumer; 005import com.avaje.ebean.QueryEachWhileConsumer; 006import com.avaje.ebean.SqlQuery; 007import com.avaje.ebean.SqlRow; 008import com.avaje.ebean.Transaction; 009 010import java.util.List; 011 012/** 013 * Wraps an underlying EbeanServer. 014 * <p> 015 * Can you used for testing purposes when you want to create a test double that 016 * only replaces some of the underlying functionality of the EbeanServer. 017 */ 018public class DelegateFindSqlQuery implements InterceptFindSqlQuery { 019 020 protected EbeanServer delegate; 021 022 /** 023 * Construct with a EbeanServer to delegate to by default. 024 * <p> 025 * This delegate will be used on all method calls that are not overwritten. 026 */ 027 public DelegateFindSqlQuery(EbeanServer delegate) { 028 this.delegate = delegate; 029 } 030 031 @Override 032 public List<SqlRow> findList(SqlQuery query, Transaction transaction) { 033 return delegate.findList(query, transaction); 034 } 035 036 @Override 037 public SqlRow findUnique(SqlQuery query, Transaction transaction) { 038 return delegate.findUnique(query, transaction); 039 } 040 041 @Override 042 public void findEach(SqlQuery sqlQuery, QueryEachConsumer<SqlRow> consumer, Transaction transaction) { 043 delegate.findEach(sqlQuery, consumer, transaction); 044 } 045 046 @Override 047 public void findEachWhile(SqlQuery sqlQuery, QueryEachWhileConsumer<SqlRow> consumer, Transaction transaction) { 048 delegate.findEachWhile(sqlQuery, consumer, transaction); 049 } 050}