Project

General

Profile

Download (2 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2007 EDIT
4
* European Distributed Institute of Taxonomy 
5
* http://www.e-taxonomy.eu
6
* 
7
* The contents of this file are subject to the Mozilla Public License Version 1.1
8
* See LICENSE.TXT at the top of this package for the full license terms.
9
*/
10

    
11
package eu.etaxonomy.cdm.api.service;
12

    
13
import java.util.List;
14

    
15
import org.hibernate.criterion.Criterion;
16
import org.springframework.security.provisioning.GroupManager;
17

    
18
import eu.etaxonomy.cdm.model.common.Group;
19
import eu.etaxonomy.cdm.persistence.dao.BeanInitializer;
20
import eu.etaxonomy.cdm.persistence.query.MatchMode;
21
import eu.etaxonomy.cdm.persistence.query.OrderHint;
22

    
23
/**
24
 * @author n.hoffmann
25
 * @created Mar 9, 2011
26
 * @version 1.0
27
 */
28
public interface IGroupService extends IService<Group>, GroupManager{
29
	
30
    
31
	/**
32
	 * Return a List of groups matching the given query string, optionally filtered by class, optionally with a particular MatchMode
33
	 * 
34
	 * @param queryString the query string to filter by
35
	 * @param matchmode use a particular type of matching (can be null - defaults to exact matching)
36
	 * @param criteria additional criteria to filter by
37
	 * @param pageSize The maximum number of objects returned (can be null for all objects)
38
	 * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based)
39
	 * @param propertyPaths properties to initialize - see {@link BeanInitializer#initialize(Object, List)}
40
	 * @param orderHints
41
	 *            Supports path like <code>orderHints.propertyNames</code> which
42
	 *            include *-to-one properties like createdBy.username or
43
	 *            authorTeam.persistentTitleCache
44
	 * @return a list of instances of type Group matching the queryString
45
	 * 
46
	 * @see {@link IIdentifiableEntityService#listByTitle(Class, String, MatchMode, List, Integer, Integer, List, List)}
47
	 */
48
    public List<Group> listByName(String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths);
49

    
50

    
51
}
(32-32/76)