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 }