View Javadoc

1   /**
2    * Copyright 2005-2012 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.identity.service;
17  
18  import org.kuali.rice.core.api.exception.RiceIllegalArgumentException;
19  import org.kuali.rice.kew.actionrequest.Recipient;
20  import org.kuali.rice.kew.api.user.UserId;
21  import org.kuali.rice.kew.workgroup.GroupId;
22  import org.kuali.rice.kim.api.identity.Person;
23  import org.kuali.rice.kim.api.identity.principal.Principal;
24  import org.kuali.rice.kim.api.group.Group;
25  
26  /**
27   * A simple helper service in KEW for interacting with the KIM identity
28   * management services.  Some of the methods on here exist solely for
29   * the purpose of assisting with the piece-by-piece migration of
30   * KEW to use the KIM services.
31   *
32   * @author Kuali Rice Team (rice.collab@kuali.org)
33   */
34  public interface IdentityHelperService {
35  
36  	public String getIdForPrincipalName(String principalName);
37  
38  	public String getIdForGroupName(String namespace, String groupName);
39  
40  	/**
41  	 * Returns the KimPrincipal for the given principal id.  Throws an exception
42  	 * if the principal id cannot be resolved to a principal.
43  	 * 
44  	 * @throws RiceIllegalArgumentException if the principal id cannot be resolved to a principal.
45  	 */
46  	public Principal getPrincipal(String principalId);
47  
48  	/**
49  	 * Returns the KimPrincipal for the given principal name.  Throws an exception
50  	 * if the principal name cannot be resolved to a principal.
51  	 * 
52  	 * @throws RiceIllegalArgumentException if the principal name cannot be resolved to a principal
53  	 */
54  	public Principal getPrincipalByPrincipalName(String principalName);
55  
56  	/**
57  	 * Returns the Person for the given principal id.  Throws an exception
58  	 * if the principal id cannot be resolved to a person.
59  	 * 
60  	 * @throws RiceIllegalArgumentException if the principal id cannot be resolved to a person.
61  	 */
62  	public Person getPerson(String principalId);
63  
64  	/**
65  	 * Returns the Person for the given principal name.  Throws an exception
66  	 * if the principal name cannot be resolved to a person.
67  	 * 
68  	 * @throws RiceIllegalArgumentException if the principal name cannot be resolved to a person.
69  	 */
70  	public Person getPersonByPrincipalName(String principalName);
71  
72  	/**
73  	 * Returns the Person for the given employee id.  Throws an exception
74  	 * if the principal name cannot be resolved to a person.
75  	 * 
76  	 * @throws RiceIllegalArgumentException if the principal name cannot be resolved to a person.
77  	 */
78  	public Person getPersonByEmployeeId(String employeeId);
79  
80  	/**
81  	 * Checks that the given principalId is valid.  Throws a RiceRuntimeException if it is not.
82  	 * 
83  	 * @throws RiceIllegalArgumentException if the given principalId is valid
84  	 */
85  	public void validatePrincipalId(String principalId);
86  
87  	/**
88  	 * Returns the principal for the given UserId.
89  	 * 
90  	 * @throws RiceIllegalArgumentException if the given UserId does not resolve to a valid principal
91  	 */
92  	public Principal getPrincipal(UserId userId);
93  
94  	/**
95  	 * Returns the Group for the given groupId.  Throws an exception
96  	 * if the groupId cannot be resolved to a group.
97  	 * 
98  	 * @throws RiceIllegalArgumentException if the groupId cannot be resolved to a group.
99  	 */
100 	public Group getGroup(String groupId);
101 
102 	/**
103 	 * Returns the Group for the given GroupId.  Throws an exception
104 	 * if the groupId cannot be resolved to a group.
105 	 * 
106 	 * @throws RiceIllegalArgumentException if the GroupId cannot be resolved to a group.
107 	 */
108 	public Group getGroup(GroupId groupId);
109 
110 	/**
111 	 * Returns the Group for the given namespaceCode and name.  Throws an exception
112 	 * if the namespaceCode and name cannot be resolved to a group.
113 	 * 
114 	 * @throws RiceIllegalArgumentException if the namespaceCode and name cannot be resolved to a group.
115 	 */
116 	public Group getGroupByName(String namespaceCode, String name);
117 
118 	/**
119 	 * Returns the Recipient for the given principalId.  Throws an exception
120 	 * if the principalId cannot be resolved to a recipient.
121 	 * 
122 	 * @throws RiceIllegalArgumentException if the principalId cannot be resolved to a recipient
123 	 */
124 	public Recipient getPrincipalRecipient(String principalId);
125 
126 	/**
127 	 * Returns the principal for the "system user".  This is a user
128 	 * that can be used in the cases where an actual user cannot be
129 	 * determined.
130 	 */
131 	public Principal getSystemPrincipal();
132 }