View Javadoc

1   /**
2    * Copyright 2010 The Kuali Foundation Licensed under the
3    * Educational Community License, Version 2.0 (the "License"); you may
4    * not use this file except in compliance with the License. You may
5    * obtain a copy of the License at
6    *
7    * http://www.osedu.org/licenses/ECL-2.0
8    *
9    * Unless required by applicable law or agreed to in writing,
10   * software distributed under the License is distributed on an "AS IS"
11   * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12   * or implied. See the License for the specific language governing
13   * permissions and limitations under the License.
14   */
15  
16  package org.kuali.student.core.search.service;
17  
18  import java.util.List;
19  
20  import org.kuali.student.core.dao.SearchableDao;
21  import org.kuali.student.core.exceptions.DoesNotExistException;
22  import org.kuali.student.core.exceptions.InvalidParameterException;
23  import org.kuali.student.core.exceptions.MissingParameterException;
24  import org.kuali.student.core.exceptions.OperationFailedException;
25  import org.kuali.student.core.search.dto.SearchCriteriaTypeInfo;
26  import org.kuali.student.core.search.dto.SearchRequest;
27  import org.kuali.student.core.search.dto.SearchResult;
28  import org.kuali.student.core.search.dto.SearchResultTypeInfo;
29  import org.kuali.student.core.search.dto.SearchTypeInfo;
30  
31  public interface SearchManager {
32  
33  	public SearchCriteriaTypeInfo getSearchCriteriaType(
34  			String searchCriteriaTypeKey) throws DoesNotExistException,
35  			InvalidParameterException, MissingParameterException,
36  			OperationFailedException;
37  
38  	public List<SearchCriteriaTypeInfo> getSearchCriteriaTypes()
39  			throws OperationFailedException;
40  
41  	public SearchResultTypeInfo getSearchResultType(String searchResultTypeKey)
42  			throws DoesNotExistException, InvalidParameterException,
43  			MissingParameterException, OperationFailedException;
44  
45  	public List<SearchResultTypeInfo> getSearchResultTypes()
46  			throws OperationFailedException;
47  
48  	public SearchTypeInfo getSearchType(String searchTypeKey)
49  			throws DoesNotExistException, InvalidParameterException,
50  			MissingParameterException, OperationFailedException;
51  
52  	public List<SearchTypeInfo> getSearchTypes()
53  			throws OperationFailedException;
54  
55  	public List<SearchTypeInfo> getSearchTypesByCriteria(
56  			String searchCriteriaTypeKey) throws DoesNotExistException,
57  			InvalidParameterException, MissingParameterException,
58  			OperationFailedException;
59  
60  	public List<SearchTypeInfo> getSearchTypesByResult(
61  			String searchResultTypeKey) throws DoesNotExistException,
62  			InvalidParameterException, MissingParameterException,
63  			OperationFailedException;
64  	
65  	public SearchResult search(SearchRequest searchRequest, SearchableDao dao) throws MissingParameterException;
66  }