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 }