1 package org.kuali.rice.core.api.criteria;
2
3 public interface CriteriaLookupService {
4
5 /**
6 * Looks up a type based on a query criteria.
7 *
8 * @param queryClass the class to lookup
9 * @param criteria the criteria to lookup against. cannot be null.
10 * @param <T> the type that is being looked up.
11 * @return the results. will never be null.
12 * @throws IllegalArgumentException if the criteria is null
13 */
14 <T> GenericQueryResults<T> lookup(final Class<T> queryClass, final QueryByCriteria criteria);
15
16 /**
17 * Looks up a type based on a query criteria.
18 *
19 * @param queryClass the class to lookup
20 * @param criteria the criteria to lookup against. cannot be null.
21 * @param <T> the type that is being looked up.
22 * @return the results. will never be null.
23 * @throws IllegalArgumentException if the criteria is null
24 */
25 <T> GenericQueryResults<T> lookup(final Class<T> queryClass, final QueryByCriteria criteria, final LookupCustomizer<T> customizer);
26 }