1 /* 2 * Copyright 2006-2011 The Kuali Foundation 3 * Licensed under the Educational Community License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.opensource.org/licenses/ecl2.php 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 package org.kuali.rice.kim.api.common.delegate; 17 18 import org.kuali.rice.core.api.mo.common.Versioned; 19 import org.kuali.rice.core.util.AttributeSet; 20 21 public interface DelegateContract extends Versioned { 22 23 /** 24 * <p>String representing the DelegationTypeCode</p> 25 * <p>Examples are 26 * <ul> 27 * <li>"P" - Primary </li> 28 * <li>"S" - Secondary</li> 29 * </ul> 30 * </p> 31 * 32 * This field should always be non-null 33 * 34 * @return The DelegationTypeCode 35 */ 36 String getDelegationTypeCode(); 37 38 /** 39 * String identifier of the Member. Should always be a non-null value. 40 * 41 * @return the member identifier of this Delegate 42 */ 43 String getMemberId(); 44 45 /** 46 * <p>A string representation of the Member Type of this Delegate 47 * 48 * <p>Examples are 49 * <ul> 50 * <li>"P" - Person</li> 51 * <li>"G" - Group</li> 52 * <li>"R" - Role</li> 53 * </ul> 54 * </p> 55 * 56 * This field should always be non-null. 57 * 58 * @return String representing the member type. 59 */ 60 String getMemberTypeCode(); 61 62 /** 63 * Returns any qualifiers associated with this Delegate. 64 * @return AttributeSet (Map<String,String>) of qualifiers 65 */ 66 AttributeSet getQualifier(); 67 68 /** 69 * Identifier for this Delegate. Cannot be null or an empty String. 70 * @return String identifier of this delegation 71 */ 72 String getDelegationId(); 73 74 /** 75 * String identifier of the associated RoleMember. Cannot be null or an empty String. 76 * @return String identifier of the associated RoleMember 77 */ 78 String getRoleMemberId(); 79 80 /** 81 * @return The name of the Member 82 */ 83 String getMemberName(); 84 85 /** 86 * The namespace for the member. A namespace identifies the system/module to which this member applies. 87 * 88 * @return Namespace for the member. 89 */ 90 String getMemberNamespaceCode(); 91 92 /** 93 * @return the String identifier of delegation member 94 */ 95 String getDelegationMemberId(); 96 97 /** 98 * @return the role Id 99 */ 100 String getRoleId(); 101 }