View Javadoc
1   /*
2    * Copyright 2011 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 1.0 (the
5    * "License"); you may not use this file except in compliance with the
6    * License.  You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl1.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
13   * implied.  See the License for the specific language governing
14   * permissions and limitations under the License.
15   */
16  
17  package org.kuali.student.r2.common.datadictionary.infc;
18  
19  import java.util.List;
20  
21  /**
22   * This is an info ojbect that contains the dictionary information
23   * about an object known to the system.
24   *
25   * @author nwright
26   */
27  
28  public interface DictionaryEntry  {
29  
30      /**
31       * The class of the object to which this dictionary entry refers.
32       *
33       * @name Object Class
34       */
35      public String getObjectClass();
36  
37      /**
38       * The name of this entry.
39       *
40       * @name Name
41       */
42      public String getName();
43  
44      /**
45       * The object label provides a short name of the business object
46       * for use on help screens.
47       *
48       * @name Object Label
49       */
50      public String getObjectLabel();
51  
52      /**
53       * The object description provides a brief description of the
54       * business object for use on help screens.
55       *
56       * @name Object Description
57       */
58      public String getObjectDescription();
59  
60      /**
61       * The titleAttribute element is the name of the attribute that
62       * will be used as an inquiry field when the lookup search results
63       * fields are displayed.
64       *
65       * For some business objects, there is no obvious field to serve
66       * as the inquiry field. in that case a special field may be
67       * required for inquiry purposes.
68       *
69       * @name Title Attribute
70       */
71      public String getTitleAttribute();
72  
73      /**
74       * The primary key(s) associatd with the object.
75       *
76       * TODO: determine how/if this works with the than the "unique" flag on attribute definition
77       * TODO: determine how/if this works with the id
78       *
79       * @name Primary Keys
80       */
81      public List<String> getPrimaryKeys();
82  
83      /**
84       * Get the definitions of the attributes (fields) on the object
85       *
86       * @name Attribute Defiitions
87       */
88      public List<? extends AttributeDefinitionInfc> getAttributes();
89  }