View Javadoc
1   /**
2    * Copyright 2005-2015 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.framework.group;
17  
18  import java.util.Map;
19  
20  import org.kuali.rice.kim.api.group.GroupContract;
21  import org.kuali.rice.krad.bo.ExternalizableBusinessObject;
22  
23  /**
24   * TODO: Likely should remove all methods from this interface after KULRICE-7170 is fixed
25   */
26  public interface GroupEbo extends GroupContract, ExternalizableBusinessObject {
27      
28      /**
29       * This is the namespace code for the Group.
30       *
31       * <p>
32       * This is a namespace code assigned to a Group.  Together with name, it makes up another unique identifier for Group
33       * </p>
34       *
35       * @return namespaceCode
36       */
37      String getNamespaceCode();
38  
39      /**
40       * This is the name for the Group.
41       *
42       * <p>
43       * This is a name assigned to a Group.  Together with NamespaceCode, it makes up another unique identifier for Group
44       * </p>
45       *
46       * @return name
47       */
48      String getName();
49  
50      /**
51       * This a description for the Group.
52       *
53       * <p>
54       * This is a description assigned to a Group.
55       * </p>
56       *
57       * @return description
58       */
59      String getDescription();
60  
61      /**
62       * This a Kim Type Id for the Group.
63       *
64       * <p>
65       * This links a Kim Type to the Group to allow custom types of Groups.
66       * </p>
67       *
68       * @return description
69       */
70      String getKimTypeId();
71  
72      /**
73       * This is a set of Attributes for a Group.
74       *
75       * <p>
76       * This is a set of attributes which are key-label pairs that are defined by the Group's Kim Type.
77       * </p>
78       *
79       * @return attributes
80       */
81      Map<String, String> getAttributes();
82      
83      /**
84       * The unique identifier for an object.  This can be null.
85       *
86       * @return the id
87       */
88      String getId();
89      
90      /**
91       * Returns the version number for this object.  In general, this value should only
92       * be null if the object has not yet been stored to a persistent data store.
93       * This version number is generally used for the purposes of optimistic locking.
94       * 
95       * @return the version number, or null if one has not been assigned yet
96       */
97      Long getVersionNumber();
98      
99      /**
100      * Return the globally unique object id of this object.  In general, this value should only
101      * be null if the object has not yet been stored to a persistent data store.
102      * 
103      * @return the objectId of this object, or null if it has not been set yet
104      */
105     String getObjectId();
106     
107     /**
108      * The active indicator for an object.
109      *
110      * @return true if active false if not.
111      */
112     boolean isActive();
113 }