001package com.avaje.ebean; 002 003import java.util.List; 004import java.util.concurrent.Future; 005 006/** 007 * The SqlFutureList represents the result of a background SQL query execution. 008 * 009 * <p> 010 * It extends the java.util.concurrent.Future. 011 * </p> 012 * 013 * <pre class="code"> 014 * // create a query 015 * String sql = ... ; 016 * SqlQuery sqlQuery = Ebean.createSqlQuery(sql); 017 * 018 * // execute the query in a background thread 019 * SqlFutureList sqlFuture = sqlQuery.findFutureList(); 020 * 021 * // do something else ... we will sleep 022 * Thread.sleep(3000); 023 * System.out.println("end of sleep"); 024 * 025 * if (!futureList.isDone()){ 026 * // we can cancel the query execution 027 * futureList.cancel(true); 028 * } 029 * 030 * System.out.println("and... done:"+futureList.isDone()); 031 * 032 * if (!futureList.isCancelled()){ 033 * // wait for the query to finish and return the list 034 * List<SqlRow> list = futureList.get(); 035 * System.out.println("list:"+list); 036 * } 037 * 038 * </pre> 039 * 040 * @author rob 041 * 042 */ 043public interface SqlFutureList extends Future<List<SqlRow>> { 044 045 SqlQuery getQuery(); 046 047}