1 /*
2 * Copyright 2006-2011 The Kuali Foundation
3 * Licensed under the Educational Community License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.opensource.org/licenses/ecl2.php
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 package org.kuali.rice.kim.api.role;
17
18 import org.kuali.rice.core.api.mo.common.Identifiable;
19 import org.kuali.rice.core.api.mo.common.Versioned;
20
21 /**
22 *
23 * <p>Associates a Role/Responsibility/(Group/Principal).<p/>
24 *
25 * <p>When a person is assigned to a role with a responsibility, the UI must populate this table with this additional
26 * information.</p>
27 *
28 * Data is an action request type (approve/acknowledge/fyi/etc...), and a priority number
29 */
30 public interface RoleResponsibilityActionContract extends Versioned, Identifiable {
31
32 /**
33 * Id of the contained RoleResponsibility object.
34 * @return A RoleResponsibility Id. Can be null if there is no associated RoleResponsibility.
35 */
36 String getRoleResponsibilityId();
37
38 /**
39 * <p>A string representation of the action type to be taken on this RoleResponsibilityAction.</p>
40 *
41 * <p>Examples are
42 * <ul>
43 * <li>"A" - Approve </li>
44 * <li>"F" - FYI </li>
45 * <li>"K" - Acknowledge </li>
46 * </p>
47 *
48 * @return String representing the action type. This can be null.
49 */
50 String getActionTypeCode();
51
52 /**
53 * @return Integer representing the priority assigned to this Action. This can be a null value.
54 */
55 Integer getPriorityNumber();
56
57 /**
58 * Returns the action policy code.
59 * @return String for the policy code. This can be null.
60 */
61 String getActionPolicyCode();
62
63 /**
64 * String identifier for an associated RoleMember
65 * @return RoleMember identifier. This can be null.
66 */
67 String getRoleMemberId();
68
69 /**
70 * Returns a RoleResponsibility instances associated with this action.
71 * @return Associated RoleResponsibility - can be null.
72 */
73 RoleResponsibilityContract getRoleResponsibility();
74
75 /**
76 * @return Whether this action should be is forced or not.
77 */
78 boolean isForceAction();
79 }