|
||||||||||
| 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 org.ajax4jsf.model.DataComponentState |
createComponentState()
Hook method for create default state in concrete implementations. |
protected abstract org.ajax4jsf.model.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)
|
org.ajax4jsf.model.DataComponentState |
getComponentState()
|
protected java.util.Set<java.lang.String> |
getEncodedIds()
|
protected org.ajax4jsf.model.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(org.ajax4jsf.model.DataComponentState state)
Set current state ( at most cases, visual representation ) of this component. |
protected void |
setExtendedDataModel(org.ajax4jsf.model.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,
org.ajax4jsf.model.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.UIDatapublic java.lang.Object getRowData()
getRowData in class javax.faces.component.UIDatapublic boolean isRowAvailable()
isRowAvailable in class javax.faces.component.UIDatapublic void setRowIndex(int index)
setRowIndex in class javax.faces.component.UIDatapublic int getRowIndex()
getRowIndex in class javax.faces.component.UIDatapublic 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 org.ajax4jsf.component.AjaxDataEncoderpublic java.util.Set<java.lang.Object> getAllAjaxKeys()
public void setAjaxKeys(java.util.Set<java.lang.Object> ajaxKeys)
setAjaxKeys in interface org.ajax4jsf.component.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 org.ajax4jsf.component.AjaxChildrenEncoderjava.io.IOExceptionprotected 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(org.ajax4jsf.model.ExtendedDataModel model)
model - protected org.ajax4jsf.model.ExtendedDataModel getExtendedDataModel()
createDataModel()
method. For different iterations in ancestor UIData ( if present ) will
be returned different models.
protected abstract org.ajax4jsf.model.ExtendedDataModel createDataModel()
public void setComponentState(org.ajax4jsf.model.DataComponentState state)
state - public org.ajax4jsf.model.DataComponentState getComponentState()
protected abstract org.ajax4jsf.model.DataComponentState createComponentState()
public java.lang.String getClientId(javax.faces.context.FacesContext faces)
getClientId in class javax.faces.component.UIDatapublic java.lang.String getBaseClientId(javax.faces.context.FacesContext faces)
faces -
public void setId(java.lang.String id)
setId in class javax.faces.component.UIComponentBasepublic 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
nullprotected 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.UIDatajavax.faces.FacesException
public void walk(javax.faces.context.FacesContext faces,
org.ajax4jsf.model.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.UIDataprotected 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.UIDatajava.io.IOExceptionprotected 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.UIDatajavax.faces.event.AbortProcessingExceptionprotected 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.StateHolderrestoreState in class javax.faces.component.UIDatapublic java.lang.Object saveState(javax.faces.context.FacesContext faces)
saveState in interface javax.faces.component.StateHoldersaveState in class javax.faces.component.UIDatapublic void setParent(javax.faces.component.UIComponent parent)
setParent in class javax.faces.component.UIComponentBasepublic 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.UIDatapublic void setValue(java.lang.Object value)
setValue in class javax.faces.component.UIDatapublic void beforeRenderResponse(javax.faces.context.FacesContext context)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||