1 /* 2 * Copyright 2007 The Kuali Foundation 3 * 4 * Licensed under the Educational Community License, Version 1.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/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 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.control; 17 18 import org.kuali.rice.krad.uif.core.Component; 19 20 /** 21 * Represents an interactive element in the UI (typically an HTML control) 22 * <p> 23 * Each control that can be rendered in the UIF should be an implement the 24 * <code>Control</code> interface. The control is a regular component, thus has 25 * a corresponding template that will render the control for the UI. Controls 26 * provide the mechanism for gathering data from the User or for the User to 27 * initiate an action. HTML controls must be rendered within a <code>Form</code> 28 * element. 29 * </p> 30 * 31 * @author Kuali Rice Team (rice.collab@kuali.org) 32 */ 33 public interface Control extends Component { 34 35 /** 36 * Unique index of the control within the tab order 37 * <p> 38 * Tab index provides a way to set the order users will tab through the 39 * controls. The control with index 1 will receive focus when the page is 40 * rendered. Tabing from the field will then take the user to the control 41 * with index 2, then index 3, and so on. 42 * </p> 43 * 44 * @return int the tab index for the control 45 */ 46 public int getTabIndex(); 47 48 }