View Javadoc

1   /*
2    * Copyright 2006-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  
17  package org.kuali.rice.kim.api.group;
18  
19  import org.kuali.rice.core.api.mo.common.Attributes;
20  import org.kuali.rice.core.api.mo.common.GloballyUnique;
21  import org.kuali.rice.core.api.mo.common.Identifiable;
22  import org.kuali.rice.core.api.mo.common.Versioned;
23  import org.kuali.rice.core.api.mo.common.active.Inactivatable;
24  import org.kuali.rice.kim.api.common.attribute.KimAttributeDataContract;
25  
26  import java.util.List;
27  
28  public interface GroupContract extends Versioned, GloballyUnique, Inactivatable, Identifiable {
29  
30      /**
31       * This is the namespace code for the Group.
32       *
33       * <p>
34       * This is a namespace code assigned to a Group.  Together with name, it makes up another unique identifier for Group
35       * </p>
36       *
37       * @return namespaceCode
38       */
39      String getNamespaceCode();
40  
41      /**
42       * This is the name for the Group.
43       *
44       * <p>
45       * This is a name assigned to a Group.  Together with NamespaceCode, it makes up another unique identifier for Group
46       * </p>
47       *
48       * @return name
49       */
50  	String getName();
51  
52      /**
53       * This a description for the Group.
54       *
55       * <p>
56       * This is a description assigned to a Group.
57       * </p>
58       *
59       * @return description
60       */
61  	String getDescription();
62  
63      /**
64       * This a Kim Type Id for the Group.
65       *
66       * <p>
67       * This links a Kim Type to the Group to allow custom types of Groups.
68       * </p>
69       *
70       * @return description
71       */
72  	String getKimTypeId();
73  
74      /**
75       * This a list of the members of the Group.
76       *
77       * <p>
78       * This returns a list of group members
79       * </p>
80       *
81       * @return members
82       */
83      //List<? extends GroupMemberContract> getMembers();
84  
85      /*List<? extends PersonContract> getPersonMembers();
86  
87      List<? extends GroupContract> getGroupMembers();*/
88  
89  
90  
91  
92  
93      /**
94       * This is a set of Attributes for a Group.
95       *
96       * <p>
97       * This is a set of attributes which are key-label pairs that are defined by the Group's Kim Type.
98       * </p>
99       *
100      * @return attributes
101      */
102 	Attributes getAttributes();
103 
104 }