View Javadoc

1   /**
2    * Copyright 2005-2011 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.peopleflow;
17  
18  import org.kuali.rice.core.api.exception.RiceIllegalArgumentException;
19  import org.kuali.rice.core.api.exception.RiceIllegalStateException;
20  import org.kuali.rice.kew.api.KewApiConstants;
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  
28  @WebService(name = "peopleFlowService", targetNamespace = KewApiConstants.Namespaces.KEW_NAMESPACE_2_0)
29  @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
30  public interface PeopleFlowService {
31  
32      @WebMethod(operationName = "getPeopleFlow")
33      @WebResult(name = "peopleFlow")
34      PeopleFlowDefinition getPeopleFlow(@WebParam(name = "peopleFlowId") String peopleFlowId)
35              throws RiceIllegalArgumentException;
36  
37      @WebMethod(operationName = "getPeopleFlowByName")
38      @WebResult(name = "peopleFlow")
39      PeopleFlowDefinition getPeopleFlowByName(
40              @WebParam(name = "namespaceCode") String namespaceCode,
41              @WebParam(name = "name") String name)
42          throws RiceIllegalArgumentException;
43  
44      /**
45       * TODO...
46       *
47       * @param peopleFlow
48       *
49       * @return
50       *
51       * @throws RiceIllegalArgumentException if the given PeopleFlow definition is null
52       * @throws RiceIllegalArgumentException if the given PeopleFlow definition has a non-null id.  When creating a new
53       * PeopleFlow definition, the ID will be generated.
54       * @throws RiceIllegalStateException if a PeopleFlow with the given namespace code and name already exists
55       */
56      @WebMethod(operationName = "createPeopleFlow")
57      @WebResult(name = "peopleFlow")
58      PeopleFlowDefinition createPeopleFlow(@WebParam(name = "peopleFlow") PeopleFlowDefinition peopleFlow)
59          throws RiceIllegalArgumentException, RiceIllegalStateException;
60  
61      /**
62       *
63       * @param peopleFlow
64       *
65       * @return
66       *
67       * @throws RiceIllegalArgumentException
68       * @throws RiceIllegalStateException if the PeopleFlow does not exist in the system under the given peopleFlowId
69       */
70      @WebMethod(operationName = "updatePeopleFlow")
71      @WebResult(name = "peopleFlow")
72      PeopleFlowDefinition updatePeopleFlow(@WebParam(name = "peopleFlow") PeopleFlowDefinition peopleFlow)
73          throws RiceIllegalArgumentException, RiceIllegalStateException;
74  
75  
76  }