001 /** 002 * Copyright 2005-2013 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.kuali.rice.kim.api.responsibility; 017 018 019 import org.kuali.rice.kim.api.common.delegate.DelegateTypeContract; 020 021 import java.util.List; 022 import java.util.Map; 023 024 /** 025 * Contains information related to responsibilities in the kim system. 026 */ 027 public interface ResponsibilityActionContract { 028 029 /** 030 * The principalId the responsibility action is associated with. 031 * <p> 032 * Can be null as long as the {@link #getGroupId()} is not null. 033 * </p> 034 * <p> 035 * When this is set the {@link #getGroupId()} will not be. 036 * </p> 037 * @return the principalId 038 */ 039 String getPrincipalId(); 040 041 /** 042 * The groupId the responsibility action is associated with. 043 * 044 * <p> 045 * Can be null as long as the {@link #getPrincipalId()} is not null. 046 * </p> 047 * <p> 048 * When this is set the {@link #getPrincipalId()} will not be. 049 * </p> 050 * 051 * @return the groupId 052 */ 053 String getGroupId(); 054 055 /** 056 * The roleResponsibilityActionId the responsibility action is associated with. Can be null. 057 * 058 * @return the roleResponsibilityActionId 059 */ 060 String getRoleResponsibilityActionId(); 061 062 /** 063 * The parallelRoutingGroupingCode the responsibility action is associated with. Can be null. 064 * 065 * @return the parallelRoutingGroupingCode 066 */ 067 String getParallelRoutingGroupingCode(); 068 069 /** 070 * The actionTypeCode the responsibility action is associated with. Can be null. 071 * 072 * @return the actionTypeCode 073 */ 074 String getActionTypeCode(); 075 076 /** 077 * The actionPolicyCode the responsibility action is associated with. Can be null. 078 * 079 * @return the actionPolicyCode 080 */ 081 String getActionPolicyCode(); 082 083 /** 084 * The priorityNumber the responsibility action is associated with. Can be null. 085 * 086 * @return the priorityNumber 087 */ 088 Integer getPriorityNumber(); 089 090 /** 091 * The memberRoleId the responsibility action is associated with. Cannot be null or blank. 092 * 093 * @return the memberRoleId 094 */ 095 String getMemberRoleId(); 096 097 /** 098 * The responsibilityName the responsibility action is associated with. Cannot be null or blank. 099 * 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 }