View Javadoc

1   /**
2    * Copyright 2005-2011 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.rice.kim.api.group;
17  
18  import org.kuali.rice.core.api.mo.common.GloballyUnique;
19  import org.kuali.rice.core.api.mo.common.Identifiable;
20  import org.kuali.rice.core.api.mo.common.Versioned;
21  import org.kuali.rice.core.api.mo.common.active.Inactivatable;
22  
23  import java.util.Map;
24  
25  public interface GroupContract extends Versioned, GloballyUnique, Inactivatable, Identifiable {
26  
27      /**
28       * This is the namespace code for the Group.
29       *
30       * <p>
31       * This is a namespace code assigned to a Group.  Together with name, it makes up another unique identifier for Group
32       * </p>
33       *
34       * @return namespaceCode
35       */
36      String getNamespaceCode();
37  
38      /**
39       * This is the name for the Group.
40       *
41       * <p>
42       * This is a name assigned to a Group.  Together with NamespaceCode, it makes up another unique identifier for Group
43       * </p>
44       *
45       * @return name
46       */
47  	String getName();
48  
49      /**
50       * This a description for the Group.
51       *
52       * <p>
53       * This is a description assigned to a Group.
54       * </p>
55       *
56       * @return description
57       */
58  	String getDescription();
59  
60      /**
61       * This a Kim Type Id for the Group.
62       *
63       * <p>
64       * This links a Kim Type to the Group to allow custom types of Groups.
65       * </p>
66       *
67       * @return description
68       */
69  	String getKimTypeId();
70  
71      /**
72       * This a list of the members of the Group.
73       *
74       * <p>
75       * This returns a list of group members
76       * </p>
77       *
78       * @return members
79       */
80      //List<? extends GroupMemberContract> getMembers();
81  
82      /*List<? extends PersonContract> getPersonMembers();
83  
84      List<? extends GroupContract> getGroupMembers();*/
85  
86  
87  
88  
89  
90      /**
91       * This is a set of Attributes for a Group.
92       *
93       * <p>
94       * This is a set of attributes which are key-label pairs that are defined by the Group's Kim Type.
95       * </p>
96       *
97       * @return attributes
98       */
99  	Map<String, String> getAttributes();
100 
101 }