uiBinderBoilerPlaterIface.addAnnotation(handler);
uiBinderBoilerPlaterIface.addAnnotation(packageTarget);
context.getBootstrapClass().addInnerClass(new InnerClass(uiBinderBoilerPlaterIface));
final BlockStatement staticInit = context.getBootstrapClass().getStaticInitializer();
String varName = "uiBinderInst_" + enclosingType.getFullyQualifiedName()
.replaceAll("\\.", "_");
if (Boolean.getBoolean("errai.simulatedClient")) {
staticInit.addStatement(Stmt.declareVariable(UiBinder.class).named(varName).initializeWith(
ObjectBuilder.newInstanceOf(uiBinderBoilerPlaterIface)
.extend()
.publicOverridesMethod("createAndBindUi", Parameter.of(type, "w"))
.append(Stmt.loadLiteral(null).returnValue())
.finish().finish()
)
);
}
else {
staticInit.addStatement(Stmt.declareVariable(UiBinder.class).named(varName).initializeWith(
Stmt.invokeStatic(GWT.class, "create", LiteralFactory.getLiteral(uiBinderBoilerPlaterIface))
));
}
staticInit.addStatement(Stmt.invokeStatic(UiBinderProvider.class, "registerBinder",
enclosingType, Refs.get(varName)));
}
else if (type.isAssignableTo(SafeHtmlTemplates.class)) {
final String varName = "safeTemplateInst_" + type.getFullyQualifiedName()
.replaceAll("\\.", "_");