1 /** 2 * Copyright 2005-2013 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.role; 17 18 import org.kuali.rice.kim.api.role.RoleContract; 19 import org.kuali.rice.krad.bo.ExternalizableBusinessObject; 20 21 /** 22 * TODO: Likely should remove all methods from this interface after KULRICE-7170 is fixed 23 */ 24 public interface RoleEbo extends RoleContract, ExternalizableBusinessObject { 25 26 /** 27 * A namespace for this role. A namespace for a role identifies the system/module to which this role applies. 28 * 29 * @return Namespace for the role. 30 */ 31 String getNamespaceCode(); 32 33 /** 34 * The human readable name for this role. 35 * 36 * @return Human readable role name. 37 */ 38 String getName(); 39 40 /** 41 * A full textual description of this role. This String should provide a verbose description of the role, what 42 * it is meant to provide to principals assigned to it, and what permissions it implies. 43 * 44 * @return Description of the role. 45 */ 46 String getDescription(); 47 48 /** 49 * Provides the associated KimType identifier for this role. This controls what additional attributes 50 * are available. 51 * 52 * @return KimType Id 53 */ 54 String getKimTypeId(); 55 56 /** 57 * Returns the version number for this object. In general, this value should only 58 * be null if the object has not yet been stored to a persistent data store. 59 * This version number is generally used for the purposes of optimistic locking. 60 * 61 * @return the version number, or null if one has not been assigned yet 62 */ 63 Long getVersionNumber(); 64 65 /** 66 * The unique identifier for an object. This can be null. 67 * 68 * @return the id 69 */ 70 String getId(); 71 72 /** 73 * The active indicator for an object. 74 * 75 * @return true if active false if not. 76 */ 77 boolean isActive(); 78 79 /** 80 * Return the globally unique object id of this object. In general, this value should only 81 * be null if the object has not yet been stored to a persistent data store. 82 * 83 * @return the objectId of this object, or null if it has not been set yet 84 */ 85 String getObjectId(); 86 }