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.common.attribute;
18  
19  import org.kuali.rice.core.api.mo.common.GloballyUnique;
20  import org.kuali.rice.core.api.mo.common.Identifiable;
21  import org.kuali.rice.core.api.mo.common.Versioned;
22  import org.kuali.rice.kim.api.type.KimTypeContract;
23  
24  /**
25   * This is the contract for a KimDataAttribute.  A KimDataAttribute
26   * associates a value with a kim attribute.
27   */
28  public interface KimAttributeDataContract extends Identifiable, Versioned, GloballyUnique {
29  
30      /**
31       * The id of the object this AttributeData is associated with.  For
32       * example:  this could be a permissionId, roleId, groupId, or
33       * responsibilityId.
34       *
35       * @return the id
36       */
37      String getAssignedToId();
38  
39      /**
40       * The attribute value.  This can be null or blank.
41       *
42       * @return the attribute value.
43       */
44  	String getAttributeValue();
45  
46      /**
47       * The kim attribute associated with the kim attribute data.  This can be null if no KimAttributes are associated.
48       *
49       * @return the kim attribute
50       */
51  	KimAttributeContract getKimAttribute();
52  
53  
54      /**
55       * The kim type id associated with the kim attribute data.  This can be null if no kim types are associated.
56       *
57       * @return the kim type id
58       */
59      String getKimTypeId();
60  
61      /**
62       * The kim type associated with the kim attribute data.  This can be null if no kim types are associated.
63       *
64       * @return the kim type
65       */
66      KimTypeContract getKimType();
67  }