001/** 002 * Copyright 2005-2018 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 */ 016package org.kuali.rice.kim.api.role; 017 018import org.kuali.rice.core.api.mo.common.Identifiable; 019import org.kuali.rice.core.api.mo.common.Versioned; 020 021/** 022 * 023 * <p>Associates a Role/Responsibility/(Group/Principal).<p/> 024 * 025 * <p>When a person is assigned to a role with a responsibility, the UI must populate this table with this additional 026 * information.</p> 027 * 028 * Data is an action request type (approve/acknowledge/fyi/etc...), and a priority number 029 */ 030public interface RoleResponsibilityActionContract extends Versioned, Identifiable { 031 032 /** 033 * Id of the contained RoleResponsibility object. 034 * @return A RoleResponsibility Id. Can be null if there is no associated RoleResponsibility. 035 */ 036 String getRoleResponsibilityId(); 037 038 /** 039 * <p>A string representation of the action type to be taken on this RoleResponsibilityAction.</p> 040 * 041 * <p>Examples are 042 * <ul> 043 * <li>"A" - Approve </li> 044 * <li>"F" - FYI </li> 045 * <li>"K" - Acknowledge </li> 046 * </p> 047 * 048 * @return String representing the action type. This can be null. 049 */ 050 String getActionTypeCode(); 051 052 /** 053 * @return Integer representing the priority assigned to this Action. This can be a null value. 054 */ 055 Integer getPriorityNumber(); 056 057 /** 058 * Returns the action policy code. 059 * @return String for the policy code. This can be null. 060 */ 061 String getActionPolicyCode(); 062 063 /** 064 * String identifier for an associated RoleMember 065 * @return RoleMember identifier. This can be null. 066 */ 067 String getRoleMemberId(); 068 069 /** 070 * Returns a RoleResponsibility instances associated with this action. 071 * @return Associated RoleResponsibility - can be null. 072 */ 073 RoleResponsibilityContract getRoleResponsibility(); 074 075 /** 076 * @return Whether this action should be is forced or not. 077 */ 078 boolean isForceAction(); 079}