Class OptionalFieldEditor<T,E extends Editor<? super T>>
- java.lang.Object
-
- com.google.gwt.editor.client.adapters.OptionalFieldEditor<T,E>
-
- Type Parameters:
T
- The type of data being managedE
- The type of Editor
- All Implemented Interfaces:
CompositeEditor<T,T,E>
,Editor<T>
,HasEditorDelegate<T>
,LeafValueEditor<T>
,ValueAwareEditor<T>
,TakesValue<T>
public class OptionalFieldEditor<T,E extends Editor<? super T>> extends java.lang.Object implements CompositeEditor<T,T,E>, LeafValueEditor<T>
This adapter can be used when a type being edited has an optional field that may be nullified or reassigned as part of the editing process. This consumer of this adapter will typically expose it via theIsEditor
interface:class FooSelector extends Composite implements IsEditor<OptionalFieldEditor<Foo, FooEditor>> { private OptionalFieldEditor<Foo, FooEditor> editor = OptionalFieldEditor.of(new FooEditor()); public OptionalFieldEditor<Foo, FooEditor> asEditor() { return editor; } }
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.google.gwt.editor.client.CompositeEditor
CompositeEditor.EditorChain<C,E extends Editor<? super C>>
-
Nested classes/interfaces inherited from interface com.google.gwt.editor.client.Editor
Editor.Ignore, Editor.Path
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
OptionalFieldEditor(E subEditor)
Construct an OptionalFieldEditor backed by the given sub-Editor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description E
createEditorForTraversal()
Returns the sub-Editor that the OptionalFieldEditor was constructed with.void
flush()
Indicates that the Editor cycle is finished.java.lang.String
getPathElement(E subEditor)
Returns an empty string because there is only ever one sub-editor used.T
getValue()
Returns the current value.static <T,E extends Editor<? super T>>
OptionalFieldEditor<T,E>of(E subEditor)
Construct an OptionalFieldEditor backed by the given sub-Editor.void
onPropertyChange(java.lang.String... paths)
Notifies the Editor that one or more value properties have changed.void
setDelegate(EditorDelegate<T> delegate)
Called by the EditorDriver to provide access to the EditorDelegate the Editor is peered with.void
setEditorChain(CompositeEditor.EditorChain<T,E> chain)
Called by the Editor framework to provide theCompositeEditor.EditorChain
.void
setValue(T value)
Called by the EditorDriver to set the object the Editor is peered with
-
-
-
Constructor Detail
-
OptionalFieldEditor
protected OptionalFieldEditor(E subEditor)
Construct an OptionalFieldEditor backed by the given sub-Editor.- Parameters:
subEditor
- the sub-Editor that will be attached to the Editor hierarchy
-
-
Method Detail
-
of
public static <T,E extends Editor<? super T>> OptionalFieldEditor<T,E> of(E subEditor)
Construct an OptionalFieldEditor backed by the given sub-Editor.- Type Parameters:
T
- The type of data being managedE
- The type of Editor- Parameters:
subEditor
- the sub-Editor that will be attached to the Editor hierarchy- Returns:
- a new instance of OptionalFieldEditor
-
createEditorForTraversal
public E createEditorForTraversal()
Returns the sub-Editor that the OptionalFieldEditor was constructed with.- Specified by:
createEditorForTraversal
in interfaceCompositeEditor<T,T,E extends Editor<? super T>>
- Returns:
- an
Editor
of type E
-
flush
public void flush()
Description copied from interface:ValueAwareEditor
Indicates that the Editor cycle is finished. This method will be called in a depth-first order by the EditorDriver, so Editors do not generally need to flush their sub-editors.- Specified by:
flush
in interfaceValueAwareEditor<T>
-
getPathElement
public java.lang.String getPathElement(E subEditor)
Returns an empty string because there is only ever one sub-editor used.- Specified by:
getPathElement
in interfaceCompositeEditor<T,T,E extends Editor<? super T>>
- Parameters:
subEditor
- an instance of the Editor type previously passed intoCompositeEditor.EditorChain.attach(C, E)
- Returns:
- the path element as a String
-
getValue
public T getValue()
Description copied from interface:TakesValue
Returns the current value.- Specified by:
getValue
in interfaceTakesValue<T>
- Returns:
- the value as an object of type V
- See Also:
TakesValue.setValue(V)
-
onPropertyChange
public void onPropertyChange(java.lang.String... paths)
Description copied from interface:ValueAwareEditor
Notifies the Editor that one or more value properties have changed. Not all backing services support property-based notifications.- Specified by:
onPropertyChange
in interfaceValueAwareEditor<T>
- Parameters:
paths
- a list of String paths
-
setDelegate
public void setDelegate(EditorDelegate<T> delegate)
Description copied from interface:HasEditorDelegate
Called by the EditorDriver to provide access to the EditorDelegate the Editor is peered with.- Specified by:
setDelegate
in interfaceHasEditorDelegate<T>
- Parameters:
delegate
- anEditorDelegate
of type T
-
setEditorChain
public void setEditorChain(CompositeEditor.EditorChain<T,E> chain)
Description copied from interface:CompositeEditor
Called by the Editor framework to provide theCompositeEditor.EditorChain
.- Specified by:
setEditorChain
in interfaceCompositeEditor<T,T,E extends Editor<? super T>>
- Parameters:
chain
- anCompositeEditor.EditorChain
instance
-
setValue
public void setValue(T value)
Description copied from interface:ValueAwareEditor
Called by the EditorDriver to set the object the Editor is peered withValueAwareEditors should preferentially use sub-editors to alter the properties of the object being edited.
- Specified by:
setValue
in interfaceTakesValue<T>
- Specified by:
setValue
in interfaceValueAwareEditor<T>
- Parameters:
value
- a value of type T- See Also:
TakesValue.getValue()
-
-