View Javadoc

1   /**
2    * Copyright 2011-2012 The Kuali Foundation Licensed under the Educational Community
3    * License, Version 2.0 (the "License"); you may not use this file except in
4    * compliance with the License. You may obtain a copy of the License at
5    *
6    * http://www.osedu.org/licenses/ECL-2.0
7    *
8    * Unless required by applicable law or agreed to in writing, software
9    * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
10   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
11   * License for the specific language governing permissions and limitations under
12   * the License.
13   */
14  package org.kuali.mobility.people.service;
15  
16  import java.util.List;
17  
18  import org.kuali.mobility.people.entity.Group;
19  import org.kuali.mobility.people.entity.Person;
20  import org.kuali.mobility.people.entity.SearchCriteria;
21  import org.kuali.mobility.people.entity.SearchResult;
22  import javax.jws.WebService;
23  
24  /**
25   * Interface for a Directory Service
26   * @author Kuali Mobility Team (mobility.collab@kuali.org)
27   * @since
28   */
29  @WebService
30  public interface DirectoryService {
31  
32  	/**
33  	 * Finds entries for the given <code>SearchCriteria</code>.
34  	 * @param search <code>SearchCriteria</code> to use for the search.
35  	 * @return A <code>SearchResult</code> object with the results
36  	 */
37  	public SearchResult findEntries(SearchCriteria search);
38  
39  	/**
40  	 * Performs a search for a person
41  	 * @param searchText
42  	 * @param firstName
43  	 * @param lastName
44  	 * @param username
45  	 * @param exactness
46  	 * @param status
47  	 * @param location
48  	 * @return
49  	 */
50  	public List<? extends Person> personSearch(
51  			String searchText,
52  			String firstName,
53  			String lastName,
54  			String username,
55  			String exactness,
56  			String status,
57  			String location);
58  	
59  	/**
60  	 * Performs a lookup for a person
61  	 * @param personId
62  	 * @return The person
63  	 */
64  	public Person personLookup(String personId);
65  
66  	//    public List<? extends Group> groupSearch( String searchText );
67  	
68  	/**
69  	 * Performs a lookup for a group.
70  	 * @param groupId Group ID to lookup
71  	 * @return The group.
72  	 */
73  	public Group groupLookup(String groupId);
74  
75  	/**
76  	 * Finds a simple group
77  	 * @param groupId Group ID to find.
78  	 * @return List of groups.
79  	 */
80  	public List<? extends Group> findSimpleGroup(String groupId);
81  }