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 }