|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.faces.component.UIComponent
javax.faces.component.UIComponentBase
javax.faces.component.UIData
org.ajax4jsf.component.UIDataAdaptorBase
public abstract class UIDataAdaptorBase
Base class for iterable components, like dataTable, Tomahawk dataList, Facelets repeat, tree etc., with support for partial rendering on AJAX responces for one or more selected iterations.
Nested Class Summary | |
---|---|
protected class |
UIDataAdaptorBase.ComponentVisitor
Base class for visit data model at phases decode, validation and update model |
protected static class |
UIDataAdaptorBase.IndexedEvent
Wrapper for event from child component, with value of current row key. |
Field Summary | |
---|---|
static java.lang.String |
COMPONENT_STATE_ATTRIBUTE
|
protected UIDataAdaptorBase.ComponentVisitor |
decodeVisitor
Visitor for process decode on children components. |
static javax.faces.model.DataModel |
EMPTY_MODEL
|
protected UIDataAdaptorBase.ComponentVisitor |
updateVisitor
Visitor for process update model phase. |
protected UIDataAdaptorBase.ComponentVisitor |
validateVisitor
Visitor for process validation phase |
Fields inherited from class javax.faces.component.UIData |
---|
COMPONENT_FAMILY, COMPONENT_TYPE |
Fields inherited from class javax.faces.component.UIComponent |
---|
bindings |
Fields inherited from interface javax.faces.component.NamingContainer |
---|
SEPARATOR_CHAR |
Constructor Summary | |
---|---|
UIDataAdaptorBase()
|
Method Summary | |
---|---|
protected void |
addAjaxKeyEvent(javax.faces.event.FacesEvent event)
|
void |
addRequestKey(java.lang.Object key)
Adds argument key to AJAX internal request keys set |
void |
beforeRenderResponse(javax.faces.context.FacesContext context)
|
void |
broadcast(javax.faces.event.FacesEvent event)
|
protected boolean |
broadcastLocal(javax.faces.event.FacesEvent event)
Process events targetted for concrete implementation. |
void |
captureOrigValue()
Save current state of data variable. |
void |
captureOrigValue(javax.faces.context.FacesContext faces)
Save current state of data variable. |
void |
clearRequestKeysSet()
Clears AJAX internal request keys set |
boolean |
containsRequestKey(java.lang.Object key)
Checks whether AJAX internal request keys set contains argument key |
protected abstract DataComponentState |
createComponentState()
Hook method for create default state in concrete implementations. |
protected abstract ExtendedDataModel |
createDataModel()
Hook mathod for create data model in concrete implementations. |
protected abstract java.util.Iterator<javax.faces.component.UIComponent> |
dataChildren()
This method must create iterator for all children components, processed "per row" It can be children of UIColumn in dataTable, nodes in tree |
void |
encodeAjaxChild(javax.faces.context.FacesContext context,
java.lang.String path,
java.util.Set<java.lang.String> ids,
java.util.Set<java.lang.String> renderedAreas)
|
void |
encodeBegin(javax.faces.context.FacesContext context)
|
protected java.lang.String |
extractKeySegment(javax.faces.context.FacesContext context,
java.lang.String tailId)
Extracts segment of component client identifier containing row key |
protected abstract java.util.Iterator<javax.faces.component.UIComponent> |
fixedChildren()
This method must create iterator for all non-data avare children of this component ( header/footer facets for components and columns in dataTable, facets for tree etc. |
java.util.Set<java.lang.Object> |
getAjaxKeys()
|
java.util.Set<java.lang.Object> |
getAllAjaxKeys()
|
java.lang.String |
getBaseClientId(javax.faces.context.FacesContext faces)
Get base clietntId of this component ( withowt iteration part ) |
protected AjaxChildrenRenderer |
getChildrenRenderer()
getter for simple AjaxChildrenRenderer instance in case of ajax
responses. |
protected java.util.Map<java.lang.String,org.ajax4jsf.component.UIDataAdaptorBase.SavedState> |
getChildState(javax.faces.context.FacesContext faces)
|
java.lang.String |
getClientId(javax.faces.context.FacesContext faces)
|
DataComponentState |
getComponentState()
|
protected java.util.Set<java.lang.String> |
getEncodedIds()
|
protected ExtendedDataModel |
getExtendedDataModel()
Get current data model, or create it by createDataModel()
method. |
int |
getRowCount()
|
java.lang.Object |
getRowData()
|
int |
getRowIndex()
|
java.lang.Object |
getRowKey()
Same as for int index, but for complex model key. |
javax.faces.convert.Converter |
getRowKeyConverter()
|
java.lang.String |
getRowKeyVar()
|
java.lang.String |
getStateVar()
Get name of EL variable for component state. |
java.lang.Object |
getValue()
|
protected java.util.Iterator<javax.faces.component.UIComponent> |
invocableChildren()
Returns iterator of components to search through in invokeOnComponent(FacesContext, String, ContextCallback) . |
boolean |
invokeOnComponent(javax.faces.context.FacesContext context,
java.lang.String clientId,
javax.faces.component.ContextCallback callback)
|
boolean |
isRowAvailable()
|
protected void |
iterate(javax.faces.context.FacesContext faces,
UIDataAdaptorBase.ComponentVisitor visitor,
java.lang.Object argument)
Perform iteration on all children components and all data rows with given visitor. |
protected boolean |
keepSaved(javax.faces.context.FacesContext context)
Check for validation errors on children components. |
void |
processDecodes(javax.faces.context.FacesContext faces)
|
protected void |
processDecodes(javax.faces.context.FacesContext faces,
java.lang.Object argument)
|
void |
processUpdates(javax.faces.context.FacesContext faces)
|
protected void |
processUpdates(javax.faces.context.FacesContext faces,
java.lang.Object argument)
|
void |
processValidators(javax.faces.context.FacesContext faces)
|
protected void |
processValidators(javax.faces.context.FacesContext faces,
java.lang.Object argument)
|
void |
queueEvent(javax.faces.event.FacesEvent event)
|
void |
removeRequestKey(java.lang.Object key)
Removes argument key from AJAX internal request keys set |
protected void |
resetComponent(javax.faces.context.FacesContext faces)
Reset per-request fields in component. |
protected void |
resetDataModel()
Reset data model. |
protected void |
restoreChildState(javax.faces.context.FacesContext faces)
Restore values of EditableValueHolder fields after change current
row. |
void |
restoreOrigValue()
Restore value of data variable after processing phase. |
void |
restoreOrigValue(javax.faces.context.FacesContext faces)
Restore value of data variable after processing phase. |
void |
restoreState(javax.faces.context.FacesContext faces,
java.lang.Object object)
|
protected void |
saveChildState(javax.faces.context.FacesContext faces)
Save values of EditableValueHolder fields before change current
row. |
java.lang.Object |
saveState(javax.faces.context.FacesContext faces)
|
void |
setAjaxKeys(java.util.Set<java.lang.Object> ajaxKeys)
|
void |
setComponentState(DataComponentState state)
Set current state ( at most cases, visual representation ) of this component. |
protected void |
setExtendedDataModel(ExtendedDataModel model)
Set data model. |
void |
setId(java.lang.String id)
|
void |
setParent(javax.faces.component.UIComponent parent)
|
void |
setRowIndex(int index)
|
void |
setRowKey(javax.faces.context.FacesContext faces,
java.lang.Object key)
Setup current row by key. |
void |
setRowKey(java.lang.Object key)
|
void |
setRowKeyConverter(javax.faces.convert.Converter rowKeyConverter)
|
void |
setRowKeyVar(java.lang.String rowKeyVar)
|
void |
setStateVar(java.lang.String varStatus)
|
protected void |
setupVariable(javax.faces.context.FacesContext faces,
javax.faces.model.DataModel localModel,
boolean rowSelected)
Setup EL variable for different iteration. |
void |
setValue(java.lang.Object value)
|
void |
walk(javax.faces.context.FacesContext faces,
DataVisitor visitor,
java.lang.Object argument)
Walk ( visit ) this component on all data-avare children for each row. |
Methods inherited from class javax.faces.component.UIData |
---|
getDataModel, getFamily, getFirst, getFooter, getHeader, getRows, getVar, setDataModel, setFirst, setFooter, setHeader, setRows, setValueBinding, setValueExpression, setVar |
Methods inherited from class javax.faces.component.UIComponentBase |
---|
addFacesListener, decode, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getParent, getRenderer, getRendererType, getRendersChildren, getValueBinding, isRendered, isTransient, processRestoreState, processSaveState, removeFacesListener, restoreAttachedState, saveAttachedState, setRendered, setRendererType, setTransient |
Methods inherited from class javax.faces.component.UIComponent |
---|
encodeAll, getContainerClientId, getValueExpression |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String COMPONENT_STATE_ATTRIBUTE
public static final javax.faces.model.DataModel EMPTY_MODEL
protected UIDataAdaptorBase.ComponentVisitor decodeVisitor
protected UIDataAdaptorBase.ComponentVisitor validateVisitor
protected UIDataAdaptorBase.ComponentVisitor updateVisitor
Constructor Detail |
---|
public UIDataAdaptorBase()
Method Detail |
---|
public java.lang.String getStateVar()
public void setStateVar(java.lang.String varStatus)
varStatus
- the varStatus to setpublic java.lang.String getRowKeyVar()
public void setRowKeyVar(java.lang.String rowKeyVar)
rowKeyVar
- the rowKeyVar to setpublic int getRowCount()
getRowCount
in class javax.faces.component.UIData
public java.lang.Object getRowData()
getRowData
in class javax.faces.component.UIData
public boolean isRowAvailable()
isRowAvailable
in class javax.faces.component.UIData
public void setRowIndex(int index)
setRowIndex
in class javax.faces.component.UIData
public int getRowIndex()
getRowIndex
in class javax.faces.component.UIData
public java.lang.Object getRowKey()
public void setRowKey(java.lang.Object key)
public void setRowKey(javax.faces.context.FacesContext faces, java.lang.Object key)
UIData.setRowIndex(int)
, but for key object - it may be not only
row number in sequence data, but, for example - path to current node in
tree.
faces
- -
current FacesContextkey
- new key value.public javax.faces.convert.Converter getRowKeyConverter()
public void setRowKeyConverter(javax.faces.convert.Converter rowKeyConverter)
rowKeyConverter
- the rowKeyConverter to setpublic java.util.Set<java.lang.Object> getAjaxKeys()
getAjaxKeys
in interface AjaxDataEncoder
public java.util.Set<java.lang.Object> getAllAjaxKeys()
public void setAjaxKeys(java.util.Set<java.lang.Object> ajaxKeys)
setAjaxKeys
in interface AjaxDataEncoder
public void encodeAjaxChild(javax.faces.context.FacesContext context, java.lang.String path, java.util.Set<java.lang.String> ids, java.util.Set<java.lang.String> renderedAreas) throws java.io.IOException
encodeAjaxChild
in interface AjaxChildrenEncoder
java.io.IOException
protected AjaxChildrenRenderer getChildrenRenderer()
AjaxChildrenRenderer
instance in case of ajax
responses. If default renderer not support search of children for encode
in ajax response, component will use this instance by default.
protected java.util.Set<java.lang.String> getEncodedIds()
protected void setupVariable(javax.faces.context.FacesContext faces, javax.faces.model.DataModel localModel, boolean rowSelected)
faces
- current faces contextlocalModel
- rowSelected
- protected void resetDataModel()
protected void setExtendedDataModel(ExtendedDataModel model)
model
- protected ExtendedDataModel getExtendedDataModel()
createDataModel()
method. For different iterations in ancestor UIData ( if present ) will
be returned different models.
protected abstract ExtendedDataModel createDataModel()
public void setComponentState(DataComponentState state)
state
- public DataComponentState getComponentState()
protected abstract DataComponentState createComponentState()
public java.lang.String getClientId(javax.faces.context.FacesContext faces)
getClientId
in class javax.faces.component.UIData
public java.lang.String getBaseClientId(javax.faces.context.FacesContext faces)
faces
-
public void setId(java.lang.String id)
setId
in class javax.faces.component.UIComponentBase
public void captureOrigValue()
public void captureOrigValue(javax.faces.context.FacesContext faces)
faces
- current faces contextpublic void restoreOrigValue()
public void restoreOrigValue(javax.faces.context.FacesContext faces)
faces
- current faces contextprotected java.util.Map<java.lang.String,org.ajax4jsf.component.UIDataAdaptorBase.SavedState> getChildState(javax.faces.context.FacesContext faces)
faces
-
EditableValueHolder
fields per
iterations.protected void saveChildState(javax.faces.context.FacesContext faces)
EditableValueHolder
fields before change current
row.
faces
- protected void restoreChildState(javax.faces.context.FacesContext faces)
EditableValueHolder
fields after change current
row.
faces
- protected boolean keepSaved(javax.faces.context.FacesContext context)
context
-
protected void iterate(javax.faces.context.FacesContext faces, UIDataAdaptorBase.ComponentVisitor visitor, java.lang.Object argument)
faces
- visitor
- protected java.lang.String extractKeySegment(javax.faces.context.FacesContext context, java.lang.String tailId)
context
- current faces contexttailId
- substring of component client identifier with base client identifier removed
null
protected java.util.Iterator<javax.faces.component.UIComponent> invocableChildren()
invokeOnComponent(FacesContext, String, ContextCallback)
.
public boolean invokeOnComponent(javax.faces.context.FacesContext context, java.lang.String clientId, javax.faces.component.ContextCallback callback) throws javax.faces.FacesException
invokeOnComponent
in class javax.faces.component.UIData
javax.faces.FacesException
public void walk(javax.faces.context.FacesContext faces, DataVisitor visitor, java.lang.Object argument) throws java.io.IOException
faces
- visitor
-
java.io.IOException
protected void processDecodes(javax.faces.context.FacesContext faces, java.lang.Object argument)
public void processDecodes(javax.faces.context.FacesContext faces)
processDecodes
in class javax.faces.component.UIData
protected void resetComponent(javax.faces.context.FacesContext faces)
faces
- protected void processUpdates(javax.faces.context.FacesContext faces, java.lang.Object argument)
public void processUpdates(javax.faces.context.FacesContext faces)
processUpdates
in class javax.faces.component.UIData
protected void processValidators(javax.faces.context.FacesContext faces, java.lang.Object argument)
public void processValidators(javax.faces.context.FacesContext faces)
processValidators
in class javax.faces.component.UIData
public void encodeBegin(javax.faces.context.FacesContext context) throws java.io.IOException
encodeBegin
in class javax.faces.component.UIData
java.io.IOException
protected abstract java.util.Iterator<javax.faces.component.UIComponent> fixedChildren()
protected abstract java.util.Iterator<javax.faces.component.UIComponent> dataChildren()
protected void addAjaxKeyEvent(javax.faces.event.FacesEvent event)
public void queueEvent(javax.faces.event.FacesEvent event)
queueEvent
in class javax.faces.component.UIData
public void broadcast(javax.faces.event.FacesEvent event) throws javax.faces.event.AbortProcessingException
broadcast
in class javax.faces.component.UIData
javax.faces.event.AbortProcessingException
protected boolean broadcastLocal(javax.faces.event.FacesEvent event)
broadcast(FacesEvent)
event
- -
processed event.
public void restoreState(javax.faces.context.FacesContext faces, java.lang.Object object)
restoreState
in interface javax.faces.component.StateHolder
restoreState
in class javax.faces.component.UIData
public java.lang.Object saveState(javax.faces.context.FacesContext faces)
saveState
in interface javax.faces.component.StateHolder
saveState
in class javax.faces.component.UIData
public void setParent(javax.faces.component.UIComponent parent)
setParent
in class javax.faces.component.UIComponentBase
public void addRequestKey(java.lang.Object key)
key
- key to addpublic void removeRequestKey(java.lang.Object key)
key
- key to removepublic boolean containsRequestKey(java.lang.Object key)
key
- key to check
true
if set contains key, false
- otherwisepublic void clearRequestKeysSet()
public java.lang.Object getValue()
getValue
in class javax.faces.component.UIData
public void setValue(java.lang.Object value)
setValue
in class javax.faces.component.UIData
public void beforeRenderResponse(javax.faces.context.FacesContext context)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |