Annotation Type Bindable


@Retention(CLASS) @Target(TYPE) public @interface Bindable

Marks a POJO or PropertyBusinessObject as a target for the component binding processor. The Codename One Maven plugin generates a Binder next to the class that copies the marked fields into the matching components of a Container -- and back, for two-way bindings against TextField, TextArea, CheckBox, and friends.

@Bindable
public class LoginModel {
    @Bind(name="userField", attr=BindAttr.TEXT)
    public Property<String, LoginModel> user = new Property<>("user");

    @Bind(name="rememberMe", attr=BindAttr.SELECTED)
    public boolean remember;
}

LoginModel model = new LoginModel();
Binders.bind(model, form);
// user types into userField -- model.user.get() observes the change
// model.user.set("alice") -- userField re-renders with the new text

Lookup happens through Component#getComponentForm().findByName(name) so the form's GUI builder names line up with the model field names.