/*
* This software is Copyright 2005,2006,2007,2008 Langdale Consultants.
* Langdale Consultants can be contacted at: http://www.langdale.com.au
*/
package au.com.langdale.ui.plumbing;
/**
* Defines events to transfer data to and from a user interface
* and perform interactive validation.
*/
public interface Binding {
/**
* The implementation should transfer default values to the widgets.
*/
public void reset();
/**
* The implementation should transfer values from an underlying model to the widgets.
*/
public void refresh();
/**
* The implementation should transfer values from the widgets an underlying model.
*/
public void update();
/**
* The implementation should examine the contents of the
* model and/or the widgets' state and return an error message if user action
* or data entry is required. It is invoked following both refresh() and update().
*/
public abstract String validate();
}