Class WDataRenderer
- java.lang.Object
-
- com.github.bordertech.wcomponents.AbstractWComponent
-
- com.github.bordertech.wcomponents.WBeanComponent
-
- com.github.bordertech.wcomponents.WContainer
-
- com.github.bordertech.wcomponents.WDataRenderer
-
- All Implemented Interfaces:
BeanAware
,BeanBound
,BeanProviderBound
,Container
,DataBound
,MutableContainer
,NamingContextable
,WComponent
,WebComponent
,Serializable
- Direct Known Subclasses:
WDataTableRowRenderer
,WTableRowRenderer
public class WDataRenderer extends WContainer
This class is a convenience WComponent that is bound to a data object. It keeps hold of the data object supplied via the setData method, and returns that same instance in the getData method. The data object is kept in sync with the users actions every request/response cycle.- Author:
- Martin Shevchenko
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.github.bordertech.wcomponents.AbstractWComponent
AbstractWComponent.WComponentRef
-
-
Field Summary
-
Fields inherited from interface com.github.bordertech.wcomponents.WComponent
DEFAULT_APPLICATION_ID, DEFAULT_INTERNAL_ID, DEFAULT_NO_ID, ID_CONTEXT_SEPERATOR, ID_FRAMEWORK_ASSIGNED_SEPERATOR, ID_VALIDATION_PATTERN
-
-
Constructor Summary
Constructors Constructor Description WDataRenderer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
handleRequest(Request request)
The handleRequest method has been overridden to keep the data object bound to this wcomponent in sync with any changes the user has entered.protected void
preparePaintComponent(Request request)
The preparePaintComponent method has been overridden to keep the data object bound to this wcomponent in sync with any changes that control logic (Action implementations) or other wcomponents have made to the data.void
updateComponent(Object data)
Subclasses must override this method if they need to keep this wcomponent in sync with the data object.void
updateData(Object data)
Subclasses must override this method if they need to keep the data object bound to this wcomponent in sync with changes entered by the user.-
Methods inherited from class com.github.bordertech.wcomponents.WContainer
add, add, getChildAt, getChildCount, getChildren, getIndexOfChild, getNamingContextId, isNamingContext, remove, removeAll, setNamingContext, setTemplate, setTemplate, setTemplateMarkUp
-
Methods inherited from class com.github.bordertech.wcomponents.WBeanComponent
addBeanToScratchMap, doUpdateBeanValue, getBean, getBeanFromScratchMap, getBeanId, getBeanProperty, getBeanProvider, getBeanScratchMap, getBeanValue, getComponentModel, getData, getOrCreateComponentModel, isBeanInScratchMap, isChanged, isSearchAncestors, isUseRequestScopeScratchMap, newComponentModel, removeBeanFromScratchMap, resetData, setBean, setBeanId, setBeanProperty, setBeanProvider, setData, setSearchAncestors, updateBeanValue
-
Methods inherited from class com.github.bordertech.wcomponents.AbstractWComponent
addHtmlClass, addHtmlClass, addNotify, afterPaint, assertAddSupported, beforePaint, createErrorDiagnostic, createErrorDiagnostic, forward, getAccessibleText, getAttribute, getBaseUrl, getDefaultModel, getEnvironment, getHeaders, getHtmlClass, getHtmlClasses, getId, getIdName, getInternalId, getLabel, getName, getParent, getScratchMap, getTabIndex, getTag, getTemplate, getTemplateMarkUp, getToolTip, hasNoComponentModel, hasTabIndex, initialiseComponentModel, invokeLater, invokeLaters, isDebugStructure, isDefaultState, isFlagSet, isHidden, isInitialised, isLocked, isTracking, isTrackingEnabled, isValidate, isVisible, paint, paintComponent, preparePaint, removeAttribute, removeComponentModel, removeHtmlClass, removeHtmlClass, removeNotify, replaceWComponent, reset, serviceRequest, setAccessibleText, setAttribute, setEnvironment, setFlag, setFocussed, setHidden, setHtmlClass, setHtmlClass, setIdName, setInitialised, setLocked, setTag, setToolTip, setTrackingEnabled, setValidate, setVisible, showErrorIndicators, showErrorIndicatorsForComponent, showWarningIndicators, showWarningIndicatorsForComponent, tidyUpUIContext, tidyUpUIContextForTree, toString, validate, validateComponent, writeReplace
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.github.bordertech.wcomponents.WComponent
addHtmlClass, addHtmlClass, forward, getAccessibleText, getAttribute, getBaseUrl, getEnvironment, getHeaders, getHtmlClass, getHtmlClasses, getId, getIdName, getInternalId, getLabel, getName, getParent, getTabIndex, getTag, getToolTip, hasTabIndex, invokeLater, isDefaultState, isHidden, isInitialised, isLocked, isTracking, isTrackingEnabled, isValidate, isVisible, paint, preparePaint, removeAttribute, removeHtmlClass, removeHtmlClass, reset, serviceRequest, setAccessibleText, setAttribute, setEnvironment, setFocussed, setHtmlClass, setHtmlClass, setIdName, setInitialised, setLocked, setTag, setToolTip, setTrackingEnabled, setValidate, setVisible, showErrorIndicators, showWarningIndicators, tidyUpUIContextForTree, validate
-
-
-
-
Method Detail
-
updateData
public void updateData(Object data)
Subclasses must override this method if they need to keep the data object bound to this wcomponent in sync with changes entered by the user. Extensions of this class that act as editors will need to override this method.In terms of the MVC pattern this method copies data from the View into the Model. Note that this method is the reverse of updateComponent.
NOTE: This method will only be called if
WBeanComponent.getData()
does not return null.public void updateData(Object data) { SomeDataObject data = (SomeDataObject)data; data.setX(wcompX.getText()); data.setY(wcompY.getText()); }
- Parameters:
data
- the data to update.
-
updateComponent
public void updateComponent(Object data)
Subclasses must override this method if they need to keep this wcomponent in sync with the data object. The data object may have been modified by other wcomponents, or control logic.In terms of the MVC pattern this method copies data from the Model into the View. Note that this method is the reverse of updateData.
NOTE: This method will only be called if
WBeanComponent.getData()
does not return null.public void updateComponent(Object data) { SomeDataObject data = (SomeDataObject)data; wcompX.setText(data.getX()); wcompY.setText(data.getY()); }
- Parameters:
data
- the data to set on the component.
-
handleRequest
public void handleRequest(Request request)
The handleRequest method has been overridden to keep the data object bound to this wcomponent in sync with any changes the user has entered.- Specified by:
handleRequest
in interfaceWComponent
- Overrides:
handleRequest
in classAbstractWComponent
- Parameters:
request
- the Request being responded to.
-
preparePaintComponent
protected void preparePaintComponent(Request request)
The preparePaintComponent method has been overridden to keep the data object bound to this wcomponent in sync with any changes that control logic (Action implementations) or other wcomponents have made to the data.- Overrides:
preparePaintComponent
in classAbstractWComponent
- Parameters:
request
- the Request being responded to.
-
-