में जावा जेनेरिक लागू करें मैं gwt में फॉर्म बांधने के लिए gwt संपादक ढांचे का उपयोग कर रहा हूं। मैं सफलतापूर्वक फॉर्म को बांधने में सक्षम था, लेकिन मेरी समस्या है कि मुझे बहुत सारे कोड लिखने की ज़रूरत है। मुझे लगता है कि जेनेरिक का उपयोग करके मेरे कोड को छोटा कर दिया जाएगा लेकिन मैं इसे नहीं कर सका।gwt संपादक
EditVendorWorkflow
के लिए कोड लगभग एक ही है, फर्क सिर्फ इतना है इस दो लाइन है
interface Driver extends SimpleBeanEditorDriver<Vendor, VendorEditor>{}
private VendorEditor editor;
उदाहरण के लिए, अगर मैं एक PersonEditor
बारे में इसी EditPersonWorkflow
कोड
interface Driver extends SimpleBeanEditorDriver<Person, PersonEditor>{}
private PersonEditor editor;
होगा तो मूल रूप से है एक दोहराव
कोई भी मदद सराहनीय है। निम्नलिखित लाइनों के साथ
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();
}
}
धन्यवाद यह काम किया डाल सकते हैं – user510783