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 }