Package io.ebean

Interface FutureList<T>

  • All Superinterfaces:
    Future<List<T>>

    public interface FutureList<T>
    extends Future<List<T>>
    FutureList represents the result of a background query execution that will return a list of entities.

    It extends the java.util.concurrent.Future with the ability to cancel the query, check if it is finished and get the resulting list waiting for the query to finish (ie. the standard features of java.util.concurrent.Future).

    A simple example:

    
    
      // create a query to find all orders
     Query<Order> query = DB.find(Order.class);
    
      // execute the query in a background thread
      // immediately returning the futureList
     FutureList<Order> futureList = query.findFutureList();
    
      // do something else ...
    
     if (!futureList.isDone()){
     	// we can cancel the query execution. This will cancel
     // the underlying query if that is supported by the JDBC
     // driver and database
     	futureList.cancel(true);
     }
    
     if (!futureList.isCancelled()){
     	// wait for the query to finish and return the list
     	List<Order> list = futureList.get();
     	...
     }
    
     
    • Method Detail

      • getQuery

        Query<TgetQuery()
        Return the query that is being executed by a background thread.
      • getUnchecked

        List<TgetUnchecked()
        Same as Future.get() but wraps InterruptedException and ExecutionException in the unchecked PersistenceException.
        Returns:
        The query list result
        Throws:
        javax.persistence.PersistenceException - when a InterruptedException or ExecutionException occurs.