package org.vaadin.jefferson.demo.simpleaddressbook.content;
import java.util.Arrays;
import org.vaadin.jefferson.Control;
import org.vaadin.jefferson.Presentation;
import org.vaadin.jefferson.demo.simpleaddressbook.domain.Contact;
import com.vaadin.data.Property.ValueChangeListener;
import com.vaadin.data.util.BeanItem;
import com.vaadin.ui.Form;
public final class ContactEditor extends Control<Form, ValueChangeListener> {
private BeanItem<Contact> contact;
ContactEditor() {
super("Contact editor", Form.class, ValueChangeListener.class);
}
@Override
public Form createFallback() {
return new Form();
}
@Override
protected Form accept(Presentation p) {
setContact(contact);
return super.accept(p);
}
public void setContact(BeanItem<Contact> contact) {
Form rendition = getRendition();
if (rendition != null) {
rendition.setItemDataSource(
contact,
Arrays.asList(Contact.PROPERTIES));
}
this.contact = contact;
}
public BeanItem<Contact> getContact() {
return contact;
}
}