I'm reading the docs on the UIBinder of GWT and the first code snippet made me confused:
public class HelloWorld extends UIObject { // Could extend Widget instead
interface MyUiBinder extends UiBinder<DivElement, HelloWorld> {}
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
@UiField SpanElement nameSpan;
public HelloWorld() {
// createAndBindUi initializes this.nameSpan
setElement(uiBinder.createAndBindUi(this));
}
}
On the second line an interface is created locally which extends the UiBinder interface. However, on the third line an instance of this interface is created using the GWT.create() method. How is this possible? There's nowhere a class that implements MyUiBinder, so it can't be instantiated right?