Interface Editor<T>
- Type Parameters:
T
- the type of the row/item being edited
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
EditorImpl
This class contains methods for editor functionality: configure an editor
Binder
, open the editor, save and cancel a row editing.
- Author:
- Vaadin Ltd
-
Method Summary
Modifier and TypeMethodDescriptionaddCancelListener
(EditorCancelListener<T> listener) Adds an editor cancellistener
.addCloseListener
(EditorCloseListener<T> listener) Adds an editor closelistener
.addOpenListener
(EditorOpenListener<T> listener) Adds an editor openlistener
.addSaveListener
(EditorSaveListener<T> listener) Adds an editor savelistener
.void
cancel()
Cancel will discard any changes made in editor fields for a buffered editor.void
Closes the editor when in unbuffered mode and fires anEditorCloseEvent
if the edited item is notnull
.void
Opens the editor component for the provided item and fires anEditorOpenEvent
.Returns the underlying Binder from Editor.getGrid()
Gets the Grid instance which this editor belongs to.getItem()
Gets the current item being edited, if any.boolean
Returns whether Editor is buffered or not.boolean
isOpen()
Returns whether Editor is open or not.void
refresh()
Refreshes the editor components for the current item being edited.boolean
save()
In buffered mode calling save will validate bean and will save any changes made to the Editor fields to the edited bean if all validators pass.Sets the underlying Binder to this Editor.setBuffered
(boolean buffered) Sets the Editor buffered mode.
-
Method Details
-
setBinder
Sets the underlying Binder to this Editor.- Parameters:
binder
- the binder for updating editor fields; notnull
- Returns:
- this editor
-
getBinder
Returns the underlying Binder from Editor.- Returns:
- the binder; not
null
-
setBuffered
Sets the Editor buffered mode. When the editor is in buffered mode, edits are only committed when the user clicks the save button. In unbuffered mode valid changes are automatically committed.- Parameters:
buffered
-true
if editor should be buffered;false
if not- Returns:
- this editor
-
isBuffered
boolean isBuffered()Returns whether Editor is buffered or not.- Returns:
true
if editor is buffered;false
if not- See Also:
-
isOpen
boolean isOpen()Returns whether Editor is open or not.- Returns:
true
if editor is open;false
if not
-
save
boolean save()In buffered mode calling save will validate bean and will save any changes made to the Editor fields to the edited bean if all validators pass.A successful write will fire an
EditorSaveEvent
and close the editor that will fire anEditorCloseEvent
.If the write fails then there will be no events and the editor will stay open.
Note! For an unbuffered editor calling save will have no effect and always return
false
.- Returns:
true
if save succeeded;false
if not
-
cancel
void cancel()Cancel will discard any changes made in editor fields for a buffered editor.Calling cancel will fire an
EditorCancelEvent
and close the editor that will fire anEditorCloseEvent
if the edited item is notnull
. -
closeEditor
void closeEditor()Closes the editor when in unbuffered mode and fires anEditorCloseEvent
if the edited item is notnull
.For buffered mode calling close editor will throw an
UnsupportedOperationException
as eithersave()
orcancel()
should be used.- Throws:
UnsupportedOperationException
- thrown if trying to close editor in buffered mode
-
editItem
Opens the editor component for the provided item and fires anEditorOpenEvent
.In case there is an open editor an
EditorCloseEvent
will also be fired.- Parameters:
item
- the edited item- Throws:
IllegalStateException
- if already editing a different item in buffered mode
-
refresh
void refresh()Refreshes the editor components for the current item being edited. It is a NO-OP if the editor is not opened.This is useful when the state of the item is changed while the editor is open.
- See Also:
-
getItem
T getItem()Gets the current item being edited, if any.The item being edited is always
null
while the editor is closed. The item is notnull
duringsave()
andcancel()
operations, but becomenull
as soon as the editor is closed.- Returns:
- the item being edited, or
null
if none is being edited - See Also:
-
getGrid
Gets the Grid instance which this editor belongs to.- Returns:
- the grid which owns the editor
-
addSaveListener
- Parameters:
listener
- save listener- Returns:
- a registration object for removing the listener
-
addCancelListener
- Parameters:
listener
- cancel listener- Returns:
- a registration object for removing the listener
-
addOpenListener
Adds an editor openlistener
.EditorOpenEvent
is fired when the editor is opened througheditItem(java.lang.Object)
- Parameters:
listener
- open listener- Returns:
- a registration object for removing the listener
-
addCloseListener
Adds an editor closelistener
. Close events are sent every time the editor is closed, no matter if it is due to a close, save or to a cancel operation.When a successful
save()
operation is performed, two listeners are triggered: save and close listeners. Likewise, when acancel()
operation is performed, two listeners are triggered, cancel and close listeners.- Parameters:
listener
- close listener- Returns:
- a registration object for removing the listener
-