1 /** 2 * Copyright 2005-2013 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.api.responsibility; 17 18 19 import org.kuali.rice.kim.api.common.delegate.DelegateTypeContract; 20 21 import java.util.List; 22 import java.util.Map; 23 24 /** 25 * Contains information related to responsibilities in the kim system. 26 */ 27 public interface ResponsibilityActionContract { 28 29 /** 30 * The principalId the responsibility action is associated with. 31 * <p> 32 * Can be null as long as the {@link #getGroupId()} is not null. 33 * </p> 34 * <p> 35 * When this is set the {@link #getGroupId()} will not be. 36 * </p> 37 * @return the principalId 38 */ 39 String getPrincipalId(); 40 41 /** 42 * The groupId the responsibility action is associated with. 43 * 44 * <p> 45 * Can be null as long as the {@link #getPrincipalId()} is not null. 46 * </p> 47 * <p> 48 * When this is set the {@link #getPrincipalId()} will not be. 49 * </p> 50 * 51 * @return the groupId 52 */ 53 String getGroupId(); 54 55 /** 56 * The roleResponsibilityActionId the responsibility action is associated with. Can be null. 57 * 58 * @return the roleResponsibilityActionId 59 */ 60 String getRoleResponsibilityActionId(); 61 62 /** 63 * The parallelRoutingGroupingCode the responsibility action is associated with. Can be null. 64 * 65 * @return the parallelRoutingGroupingCode 66 */ 67 String getParallelRoutingGroupingCode(); 68 69 /** 70 * The actionTypeCode the responsibility action is associated with. Can be null. 71 * 72 * @return the actionTypeCode 73 */ 74 String getActionTypeCode(); 75 76 /** 77 * The actionPolicyCode the responsibility action is associated with. Can be null. 78 * 79 * @return the actionPolicyCode 80 */ 81 String getActionPolicyCode(); 82 83 /** 84 * The priorityNumber the responsibility action is associated with. Can be null. 85 * 86 * @return the priorityNumber 87 */ 88 Integer getPriorityNumber(); 89 90 /** 91 * The memberRoleId the responsibility action is associated with. Cannot be null or blank. 92 * 93 * @return the memberRoleId 94 */ 95 String getMemberRoleId(); 96 97 /** 98 * The responsibilityName the responsibility action is associated with. Cannot be null or blank. 99 * 100 * @return the responsibilityName 101 */ 102 String getResponsibilityName(); 103 104 /** 105 * The responsibilityId the responsibility action is associated with. Cannot be null or blank. 106 * 107 * @return the responsibilityId 108 */ 109 String getResponsibilityId(); 110 111 /** 112 * The responsibilityNamespaceCode the responsibility action is associated with. Cannot be null or blank. 113 * 114 * @return the responsibilityNamespaceCode 115 */ 116 String getResponsibilityNamespaceCode(); 117 118 /** 119 * Whether is responsibility action is a force action. 120 * @return true if is a force action 121 */ 122 boolean isForceAction(); 123 124 /** 125 * The qualifying attributes for the responsibility action. Cannot be null. 126 * @return attributes 127 */ 128 Map<String, String> getQualifier(); 129 130 /** 131 * The delegates for this responsibility action. Cannot be null but can be an empty list. 132 * @return delegates 133 */ 134 List<? extends DelegateTypeContract> getDelegates(); 135 136 /** 137 * The roleId the responsibility action is associated with. Cannot be null or blank. 138 * 139 * @return the roleId 140 */ 141 String getRoleId(); 142 }