View Javadoc
1   /**
2    * Copyright 2005-2016 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.krad.uif.container;
17  
18  import org.kuali.rice.krad.uif.widget.Disclosure;
19  import org.kuali.rice.krad.uif.widget.Scrollpane;
20  
21  /**
22   * Common interface for group components. 
23   * 
24   * @author Kuali Rice Team (rice.collab@kuali.org)
25   */
26  public interface Group extends Container {
27  
28      /**
29       * Binding prefix string to set on each of the groups <code>DataField</code> instances
30       *
31       * <p>
32       * As opposed to setting the bindingPrefix on each attribute field instance,
33       * it can be set here for the group. During initialize the string will then
34       * be set on each attribute field instance if the bindingPrefix is blank and
35       * not a form field
36       * </p>
37       *
38       * @return String binding prefix to set
39       */
40      String getFieldBindByNamePrefix();
41  
42      /**
43       * Setter for the field binding prefix
44       *
45       * @param fieldBindByNamePrefix
46       */
47      void setFieldBindByNamePrefix(String fieldBindByNamePrefix);
48  
49      /**
50       * Object binding path to set on each of the group's
51       * <code>InputField</code> instances
52       *
53       * <p>
54       * When the attributes of the group belong to a object whose path is
55       * different from the default then this property can be given to set each of
56       * the attributes instead of setting the model path on each one. The object
57       * path can be overridden at the attribute level. The object path is set to
58       * the fieldBindingObjectPath during the initialize phase.
59       * </p>
60       *
61       * @return String model path to set
62       * @see org.kuali.rice.krad.uif.component.BindingInfo#getBindingObjectPath()
63       */
64      String getFieldBindingObjectPath();
65  
66      /**
67       * Setter for the field object binding path
68       *
69       * @param fieldBindingObjectPath
70       */
71      void setFieldBindingObjectPath(String fieldBindingObjectPath);
72  
73      /**
74       * Disclosure widget that provides collapse/expand functionality for the
75       * group
76       *
77       * @return Disclosure instance
78       */
79      Disclosure getDisclosure();
80  
81      /**
82       * Setter for the group's disclosure instance
83       *
84       * @param disclosure
85       */
86      void setDisclosure(Disclosure disclosure);
87  
88      /**
89       * Scrollpane widget that provides scrolling functionality for the
90       * group
91       *
92       * @return Scrollpane instance
93       */
94      Scrollpane getScrollpane();
95  
96      /**
97       * Setter for the group's scrollpane instance
98       *
99       * @param scrollpane
100      */
101     void setScrollpane(Scrollpane scrollpane);
102 
103     /**
104      * Determine the group should be rendered on initial load, or if a loading message should be rendered instead.
105      *
106      * @return True if a loading message should be rendered, false if the group should be rendered now.
107      */
108     boolean isRenderLoading();
109 
110     /**
111      * Getter for headerText
112      * 
113      * @return headerText
114      */
115     String getHeaderText();
116     
117     /**
118      * Setter for headerText.
119      * 
120      * @param headerText value
121      */
122     void setHeaderText(String headerText);
123 
124     /**
125      * Setter for renderFooter.
126      * 
127      * @param renderFooter value
128      */
129     void setRenderFooter(boolean renderFooter);
130 
131     /**
132      * This method ...
133      * 
134      * @return
135      */
136     String getWrapperTag();
137 
138     /**
139      * This method ...
140      * 
141      * @param footer
142      */
143     void setWrapperTag(String footer);
144     
145 }