T - the base type being editedC - the component type to be editedE - the type of Editor that will edit the component typepublic interface CompositeEditor<T,C,E extends Editor<? super C>> extends ValueAwareEditor<T>
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);
}
}
}
| Modifier and Type | Interface and Description |
|---|---|
static interface |
CompositeEditor.EditorChain<C,E extends Editor<? super C>>
Allows instances of the component type to be attached to the Editor
framework.
|
Editor.Ignore, Editor.Path| Modifier and Type | Method and Description |
|---|---|
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. |
flush, onPropertyChange, setValuesetDelegateE createEditorForTraversal()
java.lang.String getPathElement(E subEditor)
EditorDelegate.getPath() for the component
Editors.subEditor - an instance of the Editor type previously passed into
CompositeEditor.EditorChain.attach(C, E)void setEditorChain(CompositeEditor.EditorChain<C,E> chain)
CompositeEditor.EditorChain.chain - an CompositeEditor.EditorChain instance