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 }