package org.vaadin.smartgwt.client.core; import org.vaadin.smartgwt.client.ui.utils.PainterHelper; import com.smartgwt.client.core.DataClass; import com.vaadin.terminal.gwt.client.ApplicationConnection; import com.vaadin.terminal.gwt.client.UIDL; public abstract class VDataClass<T extends DataClass> extends VJSObject<T> { public static <T extends DataClass> VDataClass<T> getVDataClass(ApplicationConnection client, T dataClass) { return (VDataClass<T>) client.getPaintable(dataClass.getAttributeAsString(ATTRIBUTE_PID)); } public static <T extends DataClass> T getDataClass(ApplicationConnection client, String pid) { return ((VDataClass<T>) client.getPaintable(pid)).getJSObject(); } protected VDataClass(T dataClass) { super(dataClass); } @Override protected final void setStringAttribute(String name, String value) { getJSObject().setAttribute(name, value); } @Override protected final void updateJSObjectAttributes(UIDL uidl, ApplicationConnection client) { PainterHelper.updateDataObject(client, getJSObject(), uidl); } @Override protected void preAttributeUpdateFromUIDL(UIDL uidl, ApplicationConnection client) { } @Override protected void postAttributeUpdateFromUIDL(UIDL uidl, ApplicationConnection client) { } }