View Javadoc

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 }