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.rule;
17
18 import org.kuali.rice.core.api.mo.common.GloballyUnique;
19 import org.kuali.rice.core.api.mo.common.Identifiable;
20 import org.kuali.rice.core.api.mo.common.Versioned;
21
22 import java.util.List;
23
24 public interface RuleResponsibilityContract extends Identifiable, GloballyUnique, Versioned {
25
26
27 /**
28 * Unique Id for Responsibility.
29 *
30 * <p>
31 * This is the unique Id of the Responsibility
32 * </p>
33 *
34 * @return responsibilityId
35 */
36 String getResponsibilityId();
37
38 /**
39 * code for the Action Requested
40 *
41 * <p>
42 * This code matches the unique code for an ActionRequest
43 * </p>
44 *
45 * @return actionRequestedCd
46 */
47 String getActionRequestedCd();
48
49 /**
50 * integer representation of the priority of the RuleResponsibility
51 *
52 * @return priority
53 */
54 Integer getPriority();
55
56 /**
57 * approval policy for the RuleResponsibility
58 *
59 * @return approvalPolicy
60 */
61 String getApprovePolicy();
62
63 /**
64 * unique id of the Principal for the RuleResponsibility
65 *
66 * @return principalId
67 */
68 String getPrincipalId();
69
70 /**
71 * unique id of the Group for the RuleResponsibility
72 *
73 * @return groupId
74 */
75 String getGroupId();
76
77 /**
78 * unique name of the Role for the RuleResponsibility
79 *
80 * @return groupId
81 */
82 String getRoleName();
83
84 /**
85 * list of RuleDelegations for the RuleResponsibility
86 *
87 * @return delegationRules
88 */
89 List<? extends RuleDelegationContract> getDelegationRules();
90
91 /**
92 * determines if the RuleResponsibiltity is using a kim Role
93 *
94 * @return boolean value representing if the RuleResponsibility is using a Role
95 */
96 boolean isUsingRole();
97
98 /**
99 * determines if the RuleResponsibiltity is using a kim Principal
100 *
101 * @return boolean value representing if the RuleResponsibility is using a Principal
102 */
103 boolean isUsingPrincipal();
104
105 /**
106 * determines if the RuleResponsibiltity is using a kim Group
107 *
108 * @return boolean value representing if the RuleResponsibility is using a Group
109 */
110 boolean isUsingGroup();
111 }