View Javadoc

1   /*
2    * EL4J, the Extension Library for the J2EE, adds incremental enhancements to
3    * the spring framework, http://el4j.sf.net
4    * Copyright (C) 2010 by ELCA Informatique SA, Av. de la Harpe 22-24,
5    * 1000 Lausanne, Switzerland, http://www.elca.ch
6    *
7    * EL4J is published under the GNU Lesser General Public License (LGPL)
8    * Version 2.1. See http://www.gnu.org/licenses/
9    *
10   * This program is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13   * GNU Lesser General Public License for more details.
14   *
15   * For alternative licensing, please contact info@elca.ch
16   */
17  package ch.elca.el4j.services.persistence.jpa.criteria;
18  
19  import java.util.List;
20  
21  /**
22   * Specifies the retrieval methods applicable to a standard SELECT query.
23   *
24   * @svnLink $Revision: 4253 $;$Date: 2010-12-21 11:08:04 +0100 (Di, 21. Dez 2010) $;$Author: swismer $;$URL: https://el4j.svn.sourceforge.net/svnroot/el4j/branches/el4j_3_1/el4j/framework/modules/hibernate/src/main/java/ch/elca/el4j/services/persistence/jpa/criteria/SelectQuery.java $
25   *
26   * @author Simon Stelling (SST) 
27   */
28  public interface SelectQuery {
29  
30  	/**
31  	 * returns the results in the given range.
32  	 * @param firstRow first row
33  	 * @param maxNumOfRows max number of rows returned
34  	 * @return 'maxNumOfRows' records, starting from index 'firstRow'
35  	 */
36  	public List<?> getResultList(int firstRow, int maxNumOfRows);
37  	
38  	/**
39  	 * returns all results.
40  	 * @param <T> entity type
41  	 * @param clazz entity class
42  	 * @return all results.
43  	 */
44  	public <T> List<T> getResultList(Class<T> clazz);
45  	
46  	/**
47  	 * type-safe variant of {@link SelectQuery#getResultList(int, int)}.
48  	 * @param <T> entity type
49  	 * @param clazz entity class
50  	 * @param firstRow first row
51  	 * @param maxNumOfRows max number of rows returned
52  	 * @return 'maxNumOfRows' records, starting from index 'firstRow'
53  	 */
54  	public <T> List<T> getResultList(Class<T> clazz, int firstRow, int maxNumOfRows);
55  	
56  	/**
57  	 * @param <T> entity type
58  	 * @param clazz entity class
59  	 * @return single result entity
60  	 */
61  	public <T> T getSingleResult(Class<T> clazz);
62  	
63  }