1 //Prevayler(TM) - The Free-Software Prevalence Layer. 2 //Copyright (C) 2001-2003 Klaus Wuestefeld 3 //This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 5 package org.prevayler; 6 7 import java.util.Date; 8 9 /** Represents a query that can be executed on a Prevalent System. 10 * @see org.prevayler.Prevayler#execute(Query) 11 */ 12 public interface Query { 13 14 /** 15 * @param prevalentSystem The Prevalent System to be queried. 16 * @param executionTime The "current" time. 17 * @return The result of this Query. 18 * @throws Exception Any Exception encountered by this Query. 19 */ 20 public Object query(Object prevalentSystem, Date executionTime) throws Exception; 21 22 } 23