View Javadoc

1   /**
2    * Copyright 2005-2014 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.rice.kew.api.actionlist;
17  
18  import org.kuali.rice.core.api.exception.RiceIllegalArgumentException;
19  import org.kuali.rice.kew.api.KewApiConstants;
20  import org.kuali.rice.kew.api.action.ActionItem;
21  
22  import javax.jws.WebMethod;
23  import javax.jws.WebParam;
24  import javax.jws.WebResult;
25  import javax.jws.WebService;
26  import javax.jws.soap.SOAPBinding;
27  import javax.xml.bind.annotation.XmlElement;
28  import javax.xml.bind.annotation.XmlElementWrapper;
29  import java.util.List;
30  
31  @WebService(name = "actionListService", targetNamespace = KewApiConstants.Namespaces.KEW_NAMESPACE_2_0)
32  @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
33  public interface ActionListService {
34  
35      /**
36       * Gets the number of ActionItems for a given principal
37       *
38       * @param principalId unique Id for a principal in the system
39       *
40       * @return a count of ActionItems for a given principal
41       *
42       * @throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException if {@code principalId} is null
43       */
44      @WebMethod(operationName = "getUserActionItemCount")
45      @WebResult(name = "userActionItemCount")
46  	Integer getUserActionItemCount(
47  			@WebParam(name = "principalId") String principalId)
48              throws RiceIllegalArgumentException;
49  
50      /**
51       * Returns a list of all {@link ActionItem}s for a {@link org.kuali.rice.kew.api.document.Document}
52       *
53       * @param documentId unique id of the document to get the ActionItems for
54       *
55       * @return list of ActionItems for a document
56       *
57       * @throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException if {@code documentId} is null
58       */
59      @WebMethod(operationName = "getAllActionItems")
60      @WebResult(name = "actionItems")
61      @XmlElementWrapper(name = "actionItems", required = true)
62      @XmlElement(name = "actionItem", required = true)
63  	List<ActionItem> getAllActionItems(
64  			@WebParam(name = "documentId") String documentId)
65              throws RiceIllegalArgumentException;
66  
67      /**
68       * Returns a list of {@link ActionItem}s for a {@link org.kuali.rice.kew.api.document.Document} that match one of the
69       * passed in actionRequestCodes
70       *
71       * @param documentId unique id of the document to get the ActionItems for
72       * @param actionRequestedCodes list of action request codes to match with the ActionItems
73       *
74       * @return list of ActionItems for a document with a given action request code
75       *
76       * @throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException if {@code documentId} is null
77       */
78      @WebMethod(operationName = "getActionItems")
79      @WebResult(name = "actionItems")
80      @XmlElementWrapper(name = "actionItems", required = true)
81      @XmlElement(name = "actionItem", required = true)
82  	List<ActionItem> getActionItems(
83  			@WebParam(name = "documentId") String documentId,
84  			@WebParam(name = "actionRequestedCodes") List<String> actionRequestedCodes)
85              throws RiceIllegalArgumentException;
86  
87      /**
88       * Returns a list of {@link ActionItem}s for a Principal in the system
89       *
90       * @param principalId unique Id for a principal in the system
91       *
92       * @return list of ActionItems for a given principal
93       *
94       * @throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException if {@code principalId} is null
95       */
96      @WebMethod(operationName = "getActionItemsForPrincipal")
97      @WebResult(name = "actionItems")
98      @XmlElementWrapper(name = "actionItems", required = true)
99      @XmlElement(name = "actionItem", required = true)
100 	List<ActionItem> getActionItemsForPrincipal(
101 			@WebParam(name = "principalId") String principalId)
102             throws RiceIllegalArgumentException;
103 	
104 }