com.vaadin.server.communication.data.
Class RpcDataProviderExtension
- java.lang.Object
-
- com.vaadin.server.AbstractClientConnector
-
- com.vaadin.server.AbstractExtension
-
- com.vaadin.server.communication.data.RpcDataProviderExtension
-
All Implemented Interfaces:
MethodEventSource
,ClientConnector
,Extension
,Connector
,Serializable
public class RpcDataProviderExtension extends AbstractExtension
Provides Vaadin server-side container data source to a
com.vaadin.client.ui.grid.GridConnector
. This is currently implemented as an Extension hardcoded to support a specific connector type. This will be changed once framework support for something more flexible has been implemented.Since:
7.4
Author:
Vaadin Ltd
See Also:
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.vaadin.server.ClientConnector
ClientConnector.AttachEvent, ClientConnector.AttachListener, ClientConnector.ConnectorErrorEvent, ClientConnector.DetachEvent, ClientConnector.DetachListener
-
-
Constructor Summary
Constructors Constructor Description RpcDataProviderExtension(Container.Indexed container)
Creates a new data provider using the given container.
-
Method Summary
All Methods Modifier and Type Method Description void
addDataGenerator(DataGenerator generator)
Adds a
DataGenerator
for thisRpcDataProviderExtension
.void
beforeClientResponse(boolean initial)
Called before the shared state and RPC invocations are sent to the client.
void
columnsAdded(List<Grid.Column> addedColumns)
Informs this data provider that given columns have been added to grid.
void
columnsRemoved(List<Grid.Column> removedColumns)
Informs this data provider that given columns have been removed from grid.
void
extend(Grid component)
Makes the data source available to the given
Grid
component.protected Grid
getGrid()
KeyMapper<Object>
getKeyMapper()
void
refreshCache()
Pushes a new version of all the rows in the active cache range.
void
removeDataGenerator(DataGenerator generator)
Removes a
DataGenerator
from thisRpcDataProviderExtension
.void
setParent(ClientConnector parent)
Sets the parent connector of the connector.
void
updateRowData(Object itemId)
Informs the client side that data of a row has been modified in the data source.
-
Methods inherited from class com.vaadin.server.AbstractExtension
extend, getParent, getSupportedParentType, remove
-
Methods inherited from class com.vaadin.server.AbstractClientConnector
addAttachListener, addDetachListener, addExtension, addListener, addListener, addListener, addMethodInvocationToQueue, attach, createState, detach, encodeState, equals, fireEvent, getAllChildrenIterable, getConnectorId, getErrorHandler, getExtensions, getListeners, getResource, getRpcManager, getRpcProxy, getSession, getState, getState, getStateType, getUI, handleConnectorRequest, hashCode, hasListeners, isAttached, isConnectorEnabled, isThis, markAsDirty, markAsDirtyRecursive, registerRpc, registerRpc, removeAttachListener, removeDetachListener, removeExtension, removeListener, removeListener, removeListener, removeListener, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler, setResource
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.vaadin.server.ClientConnector
addAttachListener, addDetachListener, attach, detach, encodeState, getErrorHandler, getExtensions, getRpcManager, getStateType, getUI, handleConnectorRequest, isAttached, isConnectorEnabled, markAsDirty, markAsDirtyRecursive, removeAttachListener, removeDetachListener, removeExtension, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler
-
Methods inherited from interface com.vaadin.shared.Connector
getConnectorId
-
-
-
-
Constructor Detail
-
RpcDataProviderExtension
public RpcDataProviderExtension(Container.Indexed container)
Creates a new data provider using the given container.
Parameters:
container
- the container to make available
-
-
Method Detail
-
beforeClientResponse
public void beforeClientResponse(boolean initial)
Called before the shared state and RPC invocations are sent to the client. Gives the connector an opportunity to set computed/dynamic state values or to invoke last minute RPC methods depending on other component features.
RpcDataProviderExtension makes all actual RPC calls from this function based on changes in the container.
Specified by:
beforeClientResponse
in interfaceClientConnector
Overrides:
beforeClientResponse
in classAbstractClientConnector
Parameters:
initial
-true
if the client-side connector will be created and initialized after this method has been invoked.false
if there is already an initialized client-side connector.
-
extend
public void extend(Grid component)
Makes the data source available to the given
Grid
component.Parameters:
component
- the remote data grid component to extendcolumnKeys
- the key mapper for columns
-
addDataGenerator
public void addDataGenerator(DataGenerator generator)
Adds a
DataGenerator
for thisRpcDataProviderExtension
. DataGenerators are called when sending row data to client. If given DataGenerator is already added, this method does nothing.Parameters:
generator
- generator to addSince:
7.6
-
removeDataGenerator
public void removeDataGenerator(DataGenerator generator)
Removes a
DataGenerator
from thisRpcDataProviderExtension
. If given DataGenerator is not added to this data provider, this method does nothing.Parameters:
generator
- generator to removeSince:
7.6
-
updateRowData
public void updateRowData(Object itemId)
Informs the client side that data of a row has been modified in the data source.
Parameters:
itemId
- the item Id the row that was updated
-
refreshCache
public void refreshCache()
Pushes a new version of all the rows in the active cache range.
-
setParent
public void setParent(ClientConnector parent)
Description copied from interface:
Extension
Sets the parent connector of the connector. This method automatically calls
ClientConnector.attach()
if the connector becomes attached to the session.This method is rarely called directly.
AbstractClientConnector.addExtension(Extension)
is normally used for adding extensions to a parent and it will call this method implicitly.Specified by:
setParent
in interfaceExtension
Overrides:
setParent
in classAbstractExtension
Parameters:
parent
- the parent connector
-
columnsRemoved
public void columnsRemoved(List<Grid.Column> removedColumns)
Informs this data provider that given columns have been removed from grid.
Parameters:
removedColumns
- a list of removed columns
-
columnsAdded
public void columnsAdded(List<Grid.Column> addedColumns)
Informs this data provider that given columns have been added to grid.
Parameters:
addedColumns
- a list of added columns
-
getGrid
protected Grid getGrid()
-
-