/* ************************************************************************* IT Mill Toolkit Development of Browser User Interfaces Made Easy Copyright (C) 2000-2006 IT Mill Ltd ************************************************************************* This product is distributed under commercial license that can be found from the product package on license.pdf. Use of this product might require purchasing a commercial license from IT Mill Ltd. For guidelines on usage, see licensing-guidelines.html ************************************************************************* For more information, contact: IT Mill Ltd phone: +358 2 4802 7180 Ruukinkatu 2-4 fax: +358 2 4802 7181 20540, Turku email: info@itmill.com Finland company www: www.itmill.com Primary source for information and releases: www.itmill.com ********************************************************************** */ package com.itmill.toolkit.ui; import com.itmill.toolkit.data.BufferedValidatable; import com.itmill.toolkit.data.Property; import com.itmill.toolkit.ui.Component.Focusable; /** * @author IT Mill Ltd. * */ public interface Field extends Component, BufferedValidatable, Property, Property.ValueChangeNotifier, Property.ValueChangeListener, Property.Editor, Focusable { /** * Sets the Caption. * * @param caption */ void setCaption(String caption); String getDescription(); /** * Sets the Description. * * @param caption */ void setDescription(String caption); /** * Is this field required. * * Required fields must filled by the user. * * @return true if the field is required,otherwise * false. * @since 3.1 */ public boolean isRequired(); /** * Sets the field required. Required fields must filled by the user. * * @param required * Is the field required. * @since 3.1 */ public void setRequired(boolean required); /** * An Event object specifying the Field whose value has been * changed. * * @author IT Mill Ltd. * @version * @VERSION@ * @since 3.0 */ public class ValueChangeEvent extends Component.Event implements Property.ValueChangeEvent { /** * Serial generated by eclipse. */ private static final long serialVersionUID = 3545803169444672816L; /** * Constructs a new event object with the specified source field object. * * @param source * the field that caused the event. */ public ValueChangeEvent(Field source) { super(source); } /** * Gets the Property which triggered the event. * * @return the Source Property of the event. */ public Property getProperty() { return (Property) getSource(); } } }