E - the type of Editor the view object will providepublic interface IsEditor<E extends Editor<?>>
Editor contract directly. The primary
 advantage of the IsEditor interface is that is allows composition of behavior
 without the need to implement delegate methods for every interface
 implemented by the common editor logic.
 
 For example, an editor Widget that supports adding and removing elements from
 a list might wish to re-use the provided
 ListEditor
 controller. It might be roughly built as:
 
 
 class MyListEditor extends Composite implements IsEditor<ListEditor<Foo, FooEditor>> {
   private ListEditor<Foo, FooEditor> controller = ListEditor.of(new FooEditorSource());
   public ListEditor<Foo, FooEditor> asEditor() {return controller;}
   void onAddButtonClicked() { controller.getList().add(new Foo()); }
   void onClearButtonClicked() { controller.getList().clear(); }
 }
 
 By implementing only the one asEditor() method, the
 MyListEditor type is able to incorporate the
 ListEditor behavior without needing to write delegate methods
 for every method in ListEditor.
 
 It is legal for a type to implement both Editor and IsEditor. In this case,
 the Editor returned from asEditor() will be a co-Editor of the
 IsEditor instance.
CompositeEditor| Modifier and Type | Method and Description | 
|---|---|
| E | asEditor()Returns the Editor encapsulated by the view object. |