Interface EscalatorUpdater
-
- All Known Implementing Classes:
Grid.BodyUpdater
,Grid.StaticSectionUpdater
public interface EscalatorUpdater
An interface that allows client code to define how a certain row in Escalator will be displayed. The contents of an escalator's header, body and footer are rendered by their respective updaters.The updater is responsible for internally handling all remote communication, should the displayed data need to be fetched remotely.
This has a similar function to
Grid's
Renderers
, although they operate on different abstraction levels.- Since:
- 7.4
- Author:
- Vaadin Ltd
- See Also:
RowContainer.setEscalatorUpdater(EscalatorUpdater)
,Escalator.getHeader()
,Escalator.getBody()
,Escalator.getFooter()
,Renderer
-
-
Field Summary
Fields Modifier and Type Field Description static EscalatorUpdater
NULL
AnEscalatorUpdater
that doesn't render anything.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
postAttach(Row row, Iterable<FlyweightCell> attachedCells)
Called after attaching new cells to the escalator.void
postDetach(Row row, Iterable<FlyweightCell> detachedCells)
Called after detaching cells from the escalator.void
preAttach(Row row, Iterable<FlyweightCell> cellsToAttach)
Called before attaching new cells to the escalator.void
preDetach(Row row, Iterable<FlyweightCell> cellsToDetach)
Called before detaching cells from the escalator.void
update(Row row, Iterable<FlyweightCell> cellsToUpdate)
Renders a row contained in a row container.
-
-
-
Field Detail
-
NULL
static final EscalatorUpdater NULL
AnEscalatorUpdater
that doesn't render anything.
-
-
Method Detail
-
update
void update(Row row, Iterable<FlyweightCell> cellsToUpdate)
Renders a row contained in a row container.Note: If rendering of cells is deferred (e.g. because asynchronous data retrieval), this method is responsible for explicitly displaying some placeholder data (empty content is valid). Because the cells (and rows) in an escalator are recycled, failing to reset a cell's presentation will lead to wrong data being displayed in the escalator.
For performance reasons, the escalator will never autonomously clear any data in a cell.
- Parameters:
row
- Information about the row that is being updated. Note: You should not store nor reuse this reference.cellsToUpdate
- A collection of cells that need to be updated. Note: You should neither store nor reuse the reference to the iterable, nor to the individual cells.
-
preAttach
void preAttach(Row row, Iterable<FlyweightCell> cellsToAttach)
Called before attaching new cells to the escalator.- Parameters:
row
- Information about the row to which the cells will be added. Note: You should not store nor reuse this reference.cellsToAttach
- A collection of cells that are about to be attached. Note: You should neither store nor reuse the reference to the iterable, nor to the individual cells.
-
postAttach
void postAttach(Row row, Iterable<FlyweightCell> attachedCells)
Called after attaching new cells to the escalator.- Parameters:
row
- Information about the row to which the cells were added. Note: You should not store nor reuse this reference.attachedCells
- A collection of cells that were attached. Note: You should neither store nor reuse the reference to the iterable, nor to the individual cells.
-
preDetach
void preDetach(Row row, Iterable<FlyweightCell> cellsToDetach)
Called before detaching cells from the escalator.- Parameters:
row
- Information about the row from which the cells will be removed. Note: You should not store nor reuse this reference.cellsToAttach
- A collection of cells that are about to be detached. Note: You should neither store nor reuse the reference to the iterable, nor to the individual cells.
-
postDetach
void postDetach(Row row, Iterable<FlyweightCell> detachedCells)
Called after detaching cells from the escalator.- Parameters:
row
- Information about the row from which the cells were removed. Note: You should not store nor reuse this reference.attachedCells
- A collection of cells that were detached. Note: You should neither store nor reuse the reference to the iterable, nor to the individual cells.
-
-