'da java generic'i uygulayın gwt biçiminde formu bağlamak için gwt düzenleyici çerçevesi kullanıyorum. Formu başarılı bir şekilde bağlayabildim, ama benim sorunum çok fazla kod yazmam gerek. Jenerik kullanmanın kodumu kısaltacağını düşünüyorum ama yapamadım.gwt düzenleyicisi
EditVendorWorkflow
için kod tek fark ben PersonEditor
yazarsanız
interface Driver extends SimpleBeanEditorDriver<Vendor, VendorEditor>{}
private VendorEditor editor;
Örnek, ilgili EditPersonWorkflow
kod Yani temelde var
interface Driver extends SimpleBeanEditorDriver<Person, PersonEditor>{}
private PersonEditor editor;
olacak bu iki çizgi, hemen hemen aynıdır bir tekrar.
Herhangi bir Yardım önemlidir. Aşağıdaki satırlar boyunca
public class EditVendorWorkflow{
interface Driver extends SimpleBeanEditorDriver<Vendor, VendorEditor>{}
Driver driver = GWT.create(Driver.class);
private VendorEditor editor;
void edit(Vendor p) {
driver.initialize(editor);
driver.edit(p);
}
void save() {
Vendor edited = driver.flush();
//doSomethingWithEditedVendor(edited);
}
public void initialize(VendorEditor editor) {
this.editor = editor;
}
}
public class VendorEditor extends Composite implements Editor<Vendor> {
private static VendorEditorUiBinder uiBinder = GWT
.create(VendorEditorUiBinder.class);
@UiField Button save;
@UiField TextBox address;
@UiField TextBox contactName;
@UiField ValueBoxEditorDecorator<String> contactMobileNo;
@Path("department.name")
@UiField TextBox deptName;
interface VendorEditorUiBinder extends UiBinder<Widget, VendorEditor> {
}
private final EditVendorWorkflow vendorDriver;
public VendorEditor(Vendor p) {
initWidget(uiBinder.createAndBindUi(this));
vendorDriver = GWT.create(EditVendorWorkflow.class);
vendorDriver.initialize(this);
vendorDriver.edit(p);
}
@UiHandler("save")
void onSaveClick(ClickEvent event) {
vendorDriver.save();
}
}
sayesinde
Driver
arabirimleri koyabilirsiniz – user510783