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.common.search.service;
17  
18  import java.util.List;
19  
20  import javax.jws.WebParam;
21  import javax.jws.WebService;
22  import javax.jws.soap.SOAPBinding;
23  import javax.xml.ws.RequestWrapper;
24  import javax.xml.ws.ResponseWrapper;
25  
26  import org.kuali.student.common.exceptions.DoesNotExistException;
27  import org.kuali.student.common.exceptions.InvalidParameterException;
28  import org.kuali.student.common.exceptions.MissingParameterException;
29  import org.kuali.student.common.exceptions.OperationFailedException;
30  import org.kuali.student.common.search.dto.SearchCriteriaTypeInfo;
31  import org.kuali.student.common.search.dto.SearchRequest;
32  import org.kuali.student.common.search.dto.SearchResult;
33  import org.kuali.student.common.search.dto.SearchResultTypeInfo;
34  import org.kuali.student.common.search.dto.SearchTypeInfo;
35  @WebService(name = "SearchService", targetNamespace = "http://student.kuali.org/wsdl/search")
36  @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
37  public interface SearchService {
38  
39      /** 
40       * Retrieves the list of search types known by this service.
41       * @param None No Parameters
42       * @return list of search type information
43       * @throws OperationFailedException unable to complete request
44  	 */
45      @RequestWrapper(className="org.kuali.student.common.search.service.jaxws.GetSearchTypes", targetNamespace="http://student.kuali.org/wsdl/search")    
46      @ResponseWrapper(className="org.kuali.student.common.search.service.jaxws.GetSearchTypesResponse", targetNamespace="http://student.kuali.org/wsdl/search")
47      public List<SearchTypeInfo> getSearchTypes() throws OperationFailedException;
48  
49      /** 
50       * Retrieves information about a particular search type.
51       * @param searchTypeKey identifier of the search type
52       * @return information on the search type
53       * @throws DoesNotExistException specified searchTypeKey not found
54       * @throws InvalidParameterException invalid searchTypeKey
55       * @throws MissingParameterException searchTypeKey not specified
56       * @throws OperationFailedException unable to complete request
57  	 */
58      @RequestWrapper(className="org.kuali.student.common.search.service.jaxws.GetSearchType", targetNamespace="http://student.kuali.org/wsdl/search")    
59      @ResponseWrapper(className="org.kuali.student.common.search.service.jaxws.GetSearchTypeResponse", targetNamespace="http://student.kuali.org/wsdl/search")
60      public SearchTypeInfo getSearchType(@WebParam(name="searchTypeKey")String searchTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
61  
62      /** 
63       * Retrieves the list of search types which return results in the specified format.
64       * @param searchResultTypeKey identifier of the search result type
65       * @return list of search type information
66       * @throws DoesNotExistException specified searchResultTypeKey not found
67       * @throws InvalidParameterException invalid searchResultTypeKey
68       * @throws MissingParameterException searchResultTypeKey not specified
69       * @throws OperationFailedException unable to complete request
70  	 */
71      @RequestWrapper(className="org.kuali.student.common.search.service.jaxws.GetSearchTypesByResult", targetNamespace="http://student.kuali.org/wsdl/search")    
72      @ResponseWrapper(className="org.kuali.student.common.search.service.jaxws.GetSearchTypesByResultResponse", targetNamespace="http://student.kuali.org/wsdl/search")
73      public List<SearchTypeInfo> getSearchTypesByResult(@WebParam(name="searchResultTypeKey")String searchResultTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
74  
75      /** 
76       * Retrieves the list of search types which use criteria in the specified format.
77       * @param searchCriteriaTypeKey identifier of the search criteria
78       * @return list of search type information
79       * @throws DoesNotExistException specified searchCriteriaTypeKey not found
80       * @throws InvalidParameterException invalid searchCriteriaTypeKey
81       * @throws MissingParameterException searchCriteriaTypeKey not specified
82       * @throws OperationFailedException unable to complete request
83  	 */
84      @RequestWrapper(className="org.kuali.student.common.search.service.jaxws.GetSearchTypesByCriteria", targetNamespace="http://student.kuali.org/wsdl/search")    
85      @ResponseWrapper(className="org.kuali.student.common.search.service.jaxws.GetSearchTypesByCriteriaResponse", targetNamespace="http://student.kuali.org/wsdl/search")
86      public List<SearchTypeInfo> getSearchTypesByCriteria(@WebParam(name="searchCriteriaTypeKey")String searchCriteriaTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
87  
88      /** 
89       * Retrieves the list of search result types known by this service. Search result types describe the return structure for a search.
90       * @param None No Parameters
91       * @return list of search result type information
92       * @throws OperationFailedException unable to complete request
93  	 */
94      @RequestWrapper(className="org.kuali.student.common.search.service.jaxws.GetSearchResultTypes", targetNamespace="http://student.kuali.org/wsdl/search")    
95      @ResponseWrapper(className="org.kuali.student.common.search.service.jaxws.GetSearchResultTypesResponse", targetNamespace="http://student.kuali.org/wsdl/search")
96      public List<SearchResultTypeInfo> getSearchResultTypes() throws OperationFailedException;
97  
98      /** 
99       * Retrieves information about a particular search result type. Search result types describe the return structure for a search.
100      * @param searchResultTypeKey identifier of the search result type
101      * @return information on the search result type
102      * @throws DoesNotExistException specified searchResultTypeKey not found
103      * @throws InvalidParameterException invalid searchResultTypeKey
104      * @throws MissingParameterException searchResultTypeKey not specified
105      * @throws OperationFailedException unable to complete request
106 	 */
107     @RequestWrapper(className="org.kuali.student.common.search.service.jaxws.GetSearchResultType", targetNamespace="http://student.kuali.org/wsdl/search")    
108     @ResponseWrapper(className="org.kuali.student.common.search.service.jaxws.GetSearchResultTypeResponse", targetNamespace="http://student.kuali.org/wsdl/search")
109     public SearchResultTypeInfo getSearchResultType(@WebParam(name="searchResultTypeKey")String searchResultTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
110 
111     /** 
112      * Retrieves the list of search criteria types known by this service.
113      * @param None No parameters
114      * @return list of search criteria type information
115      * @throws OperationFailedException unable to complete request
116 	 */
117     @RequestWrapper(className="org.kuali.student.common.search.service.jaxws.GetSearchCriteriaTypes", targetNamespace="http://student.kuali.org/wsdl/search")    
118     @ResponseWrapper(className="org.kuali.student.common.search.service.jaxws.GetSearchCriteriaTypesResponse", targetNamespace="http://student.kuali.org/wsdl/search")
119     public List<SearchCriteriaTypeInfo> getSearchCriteriaTypes() throws OperationFailedException;
120 
121     /** 
122      * Retrieves information about a particular search criteria type.
123      * @param searchCriteriaTypeKey identifier of the search criteria type
124      * @return information on the search criteria type
125      * @throws DoesNotExistException specified searchCriteriaTypeKey not found
126      * @throws InvalidParameterException invalid searchCriteriaTypeKey
127      * @throws MissingParameterException searchCriteriaTypeKey not specified
128      * @throws OperationFailedException unable to complete request
129 	 */
130     @RequestWrapper(className="org.kuali.student.common.search.service.jaxws.GetSearchCriteriaType", targetNamespace="http://student.kuali.org/wsdl/search")    
131     @ResponseWrapper(className="org.kuali.student.common.search.service.jaxws.GetSearchCriteriaTypeResponse", targetNamespace="http://student.kuali.org/wsdl/search")
132     public SearchCriteriaTypeInfo getSearchCriteriaType(@WebParam(name="searchCriteriaTypeKey")String searchCriteriaTypeKey) throws DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
133 
134     @RequestWrapper(className="org.kuali.student.common.search.service.jaxws.Search", targetNamespace="http://student.kuali.org/wsdl/search")    
135     @ResponseWrapper(className="org.kuali.student.common.search.service.jaxws.SearchResponse", targetNamespace="http://student.kuali.org/wsdl/search")
136 	public SearchResult search(SearchRequest searchRequest) throws MissingParameterException;
137 
138 }