package org.vaadin.teemu.clara.demo; import java.util.Date; import org.vaadin.teemu.clara.binder.annotation.UiDataSource; import org.vaadin.teemu.clara.binder.annotation.UiHandler; import com.vaadin.data.Container; import com.vaadin.data.Property; import com.vaadin.data.Property.ValueChangeEvent; import com.vaadin.data.util.IndexedContainer; import com.vaadin.data.util.ObjectProperty; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.Notification; public class DemoController { @UiDataSource("date") public Property<Date> getDateProperty() { return new ObjectProperty<Date>(new Date()); } @SuppressWarnings("unchecked") @UiDataSource("person-list") public Container getPersonContainer() { IndexedContainer container = new IndexedContainer(); container.addContainerProperty("Name", String.class, ""); container.addContainerProperty("Age", Integer.class, 0); Object itemId = container.addItem(); container.getItem(itemId).getItemProperty("Name") .setValue("Teemu Pöntelin"); container.getItem(itemId).getItemProperty("Age").setValue(32); itemId = container.addItem(); container.getItem(itemId).getItemProperty("Name") .setValue("John Smith"); container.getItem(itemId).getItemProperty("Age").setValue(35); return container; } @UiHandler("button") public void handleButtonClick(ClickEvent event) { Notification.show("Button \"button\" clicked"); } @UiHandler("another-button") public void handleAnotherButtonClick(ClickEvent event) { Notification.show("Button \"another-button\" clicked"); } @UiHandler("value-field") public void someValueChanged(ValueChangeEvent event) { Notification.show("Value of \"value-field\" is now " + event.getProperty().getValue()); } }