public IMethod createConstructor(boolean useUiBinder) throws JavaModelException { SourceWriter sw = sourceWriterFactory.createForNewClassBodyComponent(); String parameters = ""; if (isPopupView) { workingCopy.createImport(C_EVENT_BUS, null, new NullProgressMonitor()); parameters += "final EventBus eventBus"; if (useUiBinder) { parameters += ", "; } } if (useUiBinder) { parameters += "final Binder binder"; } workingCopy.createImport(A_INJECT, null, new NullProgressMonitor()); sw.writeLines( "@Inject", "public " + workingCopyType.getElementName() + "(" + parameters + ") {"); if (isPopupView) { sw.writeLine(" super(eventBus);"); } if (useUiBinder) { sw.writeLine(" widget = binder.createAndBindUi(this);"); } sw.writeLine("}"); return createMethod(sw); }
public IType createBinderInterface() throws JavaModelException { workingCopy.createImport(I_UI_BINDER, null, new NullProgressMonitor()); SourceWriter sw = sourceWriterFactory.createForNewClassBodyComponent(); sw.writeLine( "public interface Binder extends UiBinder<Widget, " + workingCopyType.getElementName() + "> { }"); return workingCopyType.createType(sw.toString(), null, false, new NullProgressMonitor()); }
public IMethod createAsWidgetMethod(boolean useUiBinder) throws JavaModelException { SourceWriter sw = sourceWriterFactory.createForNewClassBodyComponent(); workingCopy.createImport(C_WIDGET, null, new NullProgressMonitor()); sw.writeLines( "@Override", "public Widget asWidget() {", " return " + (useUiBinder ? "widget" : "null") + ";", "}"); return createMethod(sw); }
public IField createWidgetField() throws JavaModelException { workingCopy.createImport(C_WIDGET, null, new NullProgressMonitor()); SourceWriter sw = sourceWriterFactory.createForNewClassBodyComponent(); sw.writeLine("private final Widget widget;"); return createField(sw); }