View Javadoc

1   /*
2    * Copyright 2007-2009 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.kim.service;
17  
18  import javax.jws.WebParam;
19  import javax.jws.WebService;
20  import javax.jws.soap.SOAPBinding;
21  
22  import org.kuali.rice.kim.bo.group.dto.GroupInfo;
23  import org.kuali.rice.kim.util.KIMWebServiceConstants;
24  
25  /**
26   * 
27   * This service provides operations for creating and updating groups.
28   * 
29   * @author Kuali Rice Team (rice.collab@kuali.org)
30   *
31   */
32  @WebService(name = KIMWebServiceConstants.GroupUpdateService.WEB_SERVICE_NAME, targetNamespace = KIMWebServiceConstants.MODULE_TARGET_NAMESPACE)
33  @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
34  public interface GroupUpdateService {
35  
36  	/**
37  	 * Creates a new group using the given GroupInfo.
38  	 */
39  	GroupInfo createGroup(@WebParam(name="groupInfo") GroupInfo groupInfo) throws UnsupportedOperationException;
40  
41  	/**
42  	 * Updates the group with the given groupId using the supplied GroupInfo.
43  	 */
44      GroupInfo updateGroup(@WebParam(name="groupId") String groupId, @WebParam(name="groupInfo") GroupInfo groupInfo) throws UnsupportedOperationException;
45  
46      /**
47       * Adds the group with the id supplied in childId as a member of the group with the id supplied in parentId.
48       */
49      boolean addGroupToGroup(@WebParam(name="childId") String childId, @WebParam(name="parentId") String parentId) throws UnsupportedOperationException;
50      
51      /**
52       * Removes the group with the id supplied in childId from the group with the id supplied in parentId.
53       */
54      boolean removeGroupFromGroup(@WebParam(name="childId") String childId, @WebParam(name="parentId") String parentId) throws UnsupportedOperationException;
55      
56      /**
57       * Add the principal with the given principalId as a member of the group with the given groupId.
58       */
59      boolean addPrincipalToGroup(@WebParam(name="principalId") String principalId, @WebParam(name="groupId") String groupId) throws UnsupportedOperationException;
60      
61      /**
62       * Removes the member principal with the given principalId from the group with the given groupId.
63       */
64      boolean removePrincipalFromGroup(@WebParam(name="principalId") String principalId, @WebParam(name="groupId") String groupId) throws UnsupportedOperationException;
65      
66      /**
67       * Removes all members from the group with the given groupId.
68       */
69      void removeAllGroupMembers( @WebParam(name="groupId") String groupId ) throws UnsupportedOperationException;
70  }