GWT 2.7.0

com.google.gwt.editor.client
Interface CompositeEditor<T,C,E extends Editor<? super C>>

Type Parameters:
T - the base type being edited
C - the component type to be edited
E - the type of Editor that will edit the component type
All Superinterfaces:
Editor<T>, HasEditorDelegate<T>, ValueAwareEditor<T>
All Known Implementing Classes:
HasDataEditor, ListEditor, OptionalFieldEditor

public interface CompositeEditor<T,C,E extends Editor<? super C>>
extends ValueAwareEditor<T>

An interface that indicates that a given Editor is composed of an unknown number of sub-Editors all of the same type.

For example, the ListEditor type is a CompositeEditor<List<T>, T, E extends Editor<T>>; that is, ListEditor will accept a List<T> and will edit some unknown number of T's using the Editor type E. Another example might be:

 class WorkgroupEditor implements CompositeEditor<Workgroup, Person, PersonSummaryEditor>{
   public void setValue(Workgroup workgroup) {
     // Assuming Workgroup implements Iterable<Person>
     for (Person p : workgroup) {
       PersonSummaryEditor editor = new PersonSummaryEditor();
       // Attach editor to DOM
       somePanel.add(editor);
       // Let the generated code drive the sub-editor
       editorChain.attach(p, editor);
     }
   }
 }
 


Nested Class Summary
static interface CompositeEditor.EditorChain<C,E extends Editor<? super C>>
          Allows instances of the component type to be attached to the Editor framework.
 
Nested classes/interfaces inherited from interface com.google.gwt.editor.client.Editor
Editor.Ignore, Editor.Path
 
Method Summary
 E createEditorForTraversal()
          Returns an canonical sub-editor instance that will be used by the driver for computing all edited paths.
 java.lang.String getPathElement(E subEditor)
          Used to implement EditorDelegate.getPath() for the component Editors.
 void setEditorChain(CompositeEditor.EditorChain<C,E> chain)
          Called by the Editor framework to provide the CompositeEditor.EditorChain.
 
Methods inherited from interface com.google.gwt.editor.client.ValueAwareEditor
flush, onPropertyChange, setValue
 
Methods inherited from interface com.google.gwt.editor.client.HasEditorDelegate
setDelegate
 

Method Detail

createEditorForTraversal

E createEditorForTraversal()
Returns an canonical sub-editor instance that will be used by the driver for computing all edited paths.

Returns:
an instance of the Editor type

getPathElement

java.lang.String getPathElement(E subEditor)
Used to implement EditorDelegate.getPath() for the component Editors.

Parameters:
subEditor - an instance of the Editor type previously passed into CompositeEditor.EditorChain.attach(C, E)
Returns:
the path element as a String

setEditorChain

void setEditorChain(CompositeEditor.EditorChain<C,E> chain)
Called by the Editor framework to provide the CompositeEditor.EditorChain.

Parameters:
chain - an CompositeEditor.EditorChain instance

GWT 2.7.0