This package provides a framework to edit the objects.

AbstractObjectEditor is a class to create an object editor panel.

The class is responsible to initialize the GUI and the binding with the object properties to edit.

A typical binding to a Swing component looks like:
// binding to fields
bindings = new BindingHelper();
bindings.bridgePropertyValid(this);
// binding of the "my property" property
JTextField myPropertyTxt = new JTextField(50);
Binding myPropertyBinding = bindings.createBinding(
    DebtorConfig.Properties.MY_PROPERTY,
    myPropertyTxt, "text");
builder.addRow("My property", myPropertyTxt);
add(builder.getPanel());

BindingHelper manage the binding with the OrderMate persistence framework and the BeansBinding framework.

FieldPanelBuilder is used to build panels that have two columns, one for the field label, one for an editable component, usually a JTextField, as usual in a standard editor form.

The method setObject must be called to set the object to edit befor displaying the panel. A typical implementation is:
public void setObject(Object toEdit)
{
    bindings.setObject(toEdit);
}

The best place in a controller extending BasicOfficeMateState is to call the setObject is into the onStart() method.