Class
caplin.grid.dataprovider.expandable

WrappedChildRowDataProvider

A general implementation of the ChildRowDataProvider interface that can be used when child row data is provided by DataProviders that do not allow for easy name spacing of child row data. An example is container based child row data using the already existing container based data providers the call backs do not specify which container they refer to. This means a mechanism for linking child row updates to a parent row is required once you have multiple child rows open.

The mechanism used is simply "wrapping" the child row data provider in a wrapper class such as caplin.grid.dataprovider.expandable.ContainerChildRowDataProviderWrapper or caplin.grid.dataprovider.expandable.SL4BSubjectChildRowDataProviderWrapper. The use of these wrapping classes means any child row data provider calls need to be proxied on to all the wrapper classes when multiple child rows are open. In other words when a grid is closed all wrapper classes need to be told to terminateUpdates. This class generalises the proxy code so both the caplin.grid.dataprovider.expandable.SL4BSubjectChildRowDataProvider and caplin.grid.dataprovider.expandable.ContainerChildRowDataProvider can use common code.

Constructor Summary

Attributes Name and Description
caplin.grid.dataprovider.expandable.WrappedChildRowDataProvider(caplin.grid.dataprovider.expandable.ExpandableRowGridDataProvider oExpandableRowGridDataProvider, caplin.grid.GridColumnModel oGridColumnModel, String sConfigClass)

A general implementation of the ChildRowDataProvider interface.

Method Summary

Attributes Name and Description
void getChildRowConfig(String sParentSubject, Object oWrapper)

and caplin.grid.dataprovider.expandable.ContainerChildRowDataProvider call this method to get the config class they have set in their grid definition XML via the "config" attribute.

void setChildRowWrapper(String sParentSubject, Object oWrapper)

and caplin.grid.dataprovider.expandable.ContainerChildRowDataProvider call this method in their getExpandedRowData when they have created the wrapper class that provides the child row data.

Methods implemented from class caplin.grid.dataprovider.expandable.ChildRowDataProvider:
expandedRowClosed, getExpandedRowData, pauseUpdates, resumeUpdates, setRequiredFields, setRowRange, terminateUpdates

Constructor Detail

caplin.grid.dataprovider.expandable.WrappedChildRowDataProvider(caplin.grid.dataprovider.expandable.ExpandableRowGridDataProvider oExpandableRowGridDataProvider, caplin.grid.GridColumnModel oGridColumnModel, String sConfigClass)

A general implementation of the ChildRowDataProvider interface.

Parameters
caplin.grid.dataprovider.expandable.ExpandableRowGridDataProvider oExpandableRowGridDataProvider The expandable grid row data provider
caplin.grid.GridColumnModel oGridColumnModel The grid column model
String sConfigClass The config class.

Method Detail

void getChildRowConfig(String sParentSubject, Object oWrapper)

and caplin.grid.dataprovider.expandable.ContainerChildRowDataProvider call this method to get the config class they have set in their grid definition XML via the "config" attribute.

Parameters
String sParentSubject The subject of the row that has been opened.
Object oWrapper The wrapper object that provides the child row data.

void setChildRowWrapper(String sParentSubject, Object oWrapper)

and caplin.grid.dataprovider.expandable.ContainerChildRowDataProvider call this method in their getExpandedRowData when they have created the wrapper class that provides the child row data.

Parameters
String sParentSubject The subject of the row that has been opened.
Object oWrapper The wrapper object that provides the child row data.