|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
javax.faces.component.UIComponent
org.apache.myfaces.trinidad.component.UIXComponent
org.apache.myfaces.trinidad.component.UIXComponentBase
org.apache.myfaces.trinidad.component.UIXCollection
org.apache.myfaces.trinidad.component.UIXHierarchy
org.apache.myfaces.trinidad.component.UIXTree
public class UIXTree
<html:p> Apache Trinidad tree components are used to display hierarchical data. For example, if we have a personnel organization chart depicting all the direct reports under each employee, we could use a tree component to display this chart. While each element (employee) in the hierarchy may have any number of child elements, each element can only have one parent element. </html:p> <section name="The_Tree_Model"> <html:P> The Apache Trinidad tree components use a model to access the data in the underlying hierarchy. The specific model class is <html:code>org.apache.myfaces.trinidad.model.TreeModel</html:code>. You may find the <html:code>org.apache.myfaces.trinidad.model.ChildPropertyTreeModel</html:code> class useful when constructing a <html:code>TreeModel</html:code>. </html:P> </section> <section name="Data"> <html:P> The tree components use a stamping strategy similar to the Trinidad Table component. Child components are used to display the data for each element in the tree. Each child component is not recreated per element; instead, each child is repeatedly rendered (stamped) once per element. Because of this stamping behavior, only certain types of components are supported as children. Supported components include all components with no behavior and most components that implement the EditableValueHolder or ActionSource interfaces. </html:P> <html:P> Each time a child component is stamped, the data for the current element is copied into an EL reachable property. The name of this property is defined by the <html:code>var</html:code> property on the tree component. Once the tree has completed rendering, this property is removed (or reverted back to its previous value). </html:P> </section> <section name="Events"> <html:P> When the user expands or collapses a subtree the tree generates a <html:code>DisclosureEvent</html:code>. This event has an <html:code>isExpanded</html:code> method that returns whether the user wants to expand or collapse the subtree of a particular element. That particular element is made current on the Tree before the event is delivered. </html:P> </section> <section name="Expand_Collapse_State"> <html:P> The Trinidad tree components use an instance of the <html:code>org.apache.myfaces.trinidad.model.RowKeySet</html:code> class to keep track of which elements are expanded. This instance is stored as the "expandedRowKeys" attribute on the component. You may use this instance to programmatically control the expand/collapse state of an element in the hierarchy. </html:P> </section>
| Type | Phases | Description |
|---|---|---|
org.apache.myfaces.trinidad.event.RowDisclosureEvent |
Apply Request Values Invoke Application |
The expansion event is generated for a table when the detail facet of a row is expanded or collapsed. For tree or a treeTable, the expansion event is generated when tree nodes are expanded or collapsed. |
org.apache.myfaces.trinidad.event.SelectionEvent |
Apply Request Values Invoke Application |
The selection event is delivered when the table selection changes. |
org.apache.myfaces.trinidad.event.FocusEvent |
Apply Request Values Invoke Application |
Event delivered when user clicks to focus on (or zoom into) a particular element's subtree of children. The TreeTable responds to this event by modifying the "focusPath" property appropriately. Subsequently, any registered FocusListener instances are called. |
org.apache.myfaces.trinidad.event.AttributeChangeEvent |
Invoke Application Apply Request Values |
Event delivered to describe an attribute change. Attribute change events are not delivered for any programmatic change to a property. They are only delivered when a renderer changes a property without the application's specific request. An example of an attribute change event might include the width of a column that supported client-side resizing. |
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.apache.myfaces.trinidad.component.UIXCollection |
|---|
UIXCollection.NoColumnFacetsVisitContext |
| Nested classes/interfaces inherited from interface org.apache.myfaces.trinidad.model.LocalRowKeyIndex |
|---|
LocalRowKeyIndex.Confidence, LocalRowKeyIndex.LocalCachingStrategy |
| Field Summary | |
|---|---|
static String |
COMPONENT_FAMILY |
static String |
COMPONENT_TYPE |
static PropertyKey |
DISCLOSED_ROW_KEYS_KEY |
static PropertyKey |
FOCUS_LISTENER_KEY |
static PropertyKey |
FOCUS_ROW_KEY_KEY |
static PropertyKey |
IMMEDIATE_KEY |
static PropertyKey |
INITIALLY_EXPANDED_KEY |
static String |
NODE_STAMP_FACET |
static PropertyKey |
ROW_DISCLOSURE_LISTENER_KEY |
static PropertyKey |
SELECTED_ROW_KEYS_KEY |
static PropertyKey |
SELECTION_LISTENER_KEY |
static FacesBean.Type |
TYPE |
static PropertyKey |
VALUE_KEY |
static PropertyKey |
VAR_STATUS_KEY |
| Fields inherited from class org.apache.myfaces.trinidad.component.UIXCollection |
|---|
VAR_KEY |
| Fields inherited from class org.apache.myfaces.trinidad.component.UIXComponentBase |
|---|
BINDING_KEY, ID_KEY, RENDERED_KEY, RENDERER_TYPE_KEY, TRANSIENT_KEY |
| Fields inherited from class javax.faces.component.UIComponent |
|---|
ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME, VIEW_LOCATION_KEY |
| Fields inherited from interface javax.faces.component.NamingContainer |
|---|
SEPARATOR_CHAR |
| Constructor Summary | |
|---|---|
|
UIXTree()Construct an instance of the UIXTree. |
protected |
UIXTree(String rendererType)Construct an instance of the UIXTree. |
| Method Summary | |
|---|---|
protected void |
__encodeBegin(javax.faces.context.FacesContext context) |
void |
addFocusListener(FocusListener listener)Adds a focus listener. |
void |
addRowDisclosureListener(RowDisclosureListener listener)Adds a rowDisclosure listener. |
void |
addSelectionListener(SelectionListener listener)Adds a selection listener. |
void |
broadcast(javax.faces.event.FacesEvent event)Delivers an event. |
CollectionModel |
createCollectionModel(CollectionModel current, Object value)Creates the CollectionModel to use with this component. |
protected FacesBean |
createFacesBean(String rendererType) |
protected FacesBean.Type |
getBeanType() |
RowKeySet |
getDisclosedRowKeys()Gets the set of disclosed rows for this component. |
String |
getFamily() |
javax.el.MethodExpression |
getFocusListener()Gets a method reference to a focus listener |
FocusListener[] |
getFocusListeners()Returns an array of attached focus listeners. |
Object |
getFocusRowKey()Gets the rowKey of the currently focused row. |
javax.faces.component.UIComponent |
getNodeStamp()the component to use to stamp each element in the tree. |
javax.el.MethodExpression |
getRowDisclosureListener()Gets a method reference to an ExpansionListener |
RowDisclosureListener[] |
getRowDisclosureListeners()Returns an array of attached rowDisclosure listeners. |
RowKeySet |
getSelectedRowKeys()Gets the selection state for this component. |
javax.el.MethodExpression |
getSelectionListener()Gets a method reference to a selection listener |
SelectionListener[] |
getSelectionListeners()Returns an array of attached selection listeners. |
Object |
getValue()Gets the hierarchy of tree data - must be of type org.apache.myfaces.trinidad.model.TreeModel |
String |
getVarStatus()Gets Name of the EL variable used to reference the varStatus information. |
boolean |
isImmediate()Gets whether or not data validation - client-side or server-side - should take place when events are generated by this component. |
boolean |
isInitiallyExpanded()Gets If upon initial rendering, the current subtree under the focused row path should be expanded. |
protected void |
postCreateCollectionModel(CollectionModel model)Hook called with the result of createCollectionModel. |
protected void |
processFacetsAndChildren(javax.faces.context.FacesContext context, javax.faces.event.PhaseId phaseId)Process this component's facets and children. |
void |
queueEvent(javax.faces.event.FacesEvent event)Sets the phaseID of UI events depending on the "immediate" property. |
void |
removeFocusListener(FocusListener listener)Removes a focus listener. |
void |
removeRowDisclosureListener(RowDisclosureListener listener)Removes a rowDisclosure listener. |
void |
removeSelectionListener(SelectionListener listener)Removes a selection listener. |
void |
setDisclosedRowKeys(RowKeySet disclosedRowKeys)Sets the set of disclosed rows for this component. |
void |
setFocusListener(javax.el.MethodExpression focusListener)Sets a method reference to a focus listener |
void |
setFocusRowKey(Object focusRowKey)Sets the rowKey of the currently focused row. |
void |
setImmediate(boolean immediate)Sets whether or not data validation - client-side or server-side - should take place when events are generated by this component. |
void |
setInitiallyExpanded(boolean initiallyExpanded)Sets If upon initial rendering, the current subtree under the focused row path should be expanded. |
void |
setNodeStamp(javax.faces.component.UIComponent nodeStampFacet)the component to use to stamp each element in the tree. |
void |
setRowDisclosureListener(javax.faces.el.MethodBinding binding)Deprecated. |
void |
setRowDisclosureListener(javax.el.MethodExpression rowDisclosureListener)Sets a method reference to an ExpansionListener |
void |
setSelectedRowKeys(RowKeySet selectedRowKeys)Sets the selection state for this component. |
void |
setSelectionListener(javax.faces.el.MethodBinding binding)Deprecated. |
void |
setSelectionListener(javax.el.MethodExpression selectionListener)Sets a method reference to a selection listener |
void |
setValue(Object value)Sets the hierarchy of tree data - must be of type org.apache.myfaces.trinidad.model.TreeModel |
void |
setVarStatus(String varStatus)Sets Name of the EL variable used to reference the varStatus information. |
protected boolean |
visitChildren(javax.faces.component.visit.VisitContext visitContext, javax.faces.component.visit.VisitCallback callback)Override default children visiting code to visit the facets and facets of the columns before delegating to the visitData to visit the individual rows of data. |
protected boolean |
visitData(javax.faces.component.visit.VisitContext visitContext, javax.faces.component.visit.VisitCallback callback)Visit the rows and children of the columns of the collection per row-index. |
| Methods inherited from class org.apache.myfaces.trinidad.component.UIXHierarchy |
|---|
areRowsLocallyAvailable, areRowsLocallyAvailable, areRowsLocallyAvailable, createVarStatusMap, enterContainer, exitContainer, getAllAncestorContainerRowKeys, getContainerRowKey, getContainerRowKey, getDepth, getDepth, getFirst, getRows, getStamps, getTreeModel, isChildCollectionLocallyAvailable, isChildCollectionLocallyAvailable, isChildCollectionLocallyAvailable, isContainer, isContainerEmpty, visitHierarchy, visitLevel |
| Methods inherited from class javax.faces.component.UIComponent |
|---|
encodeAll, getClientId, getCompositeComponentParent, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getResourceBundleMap, getTransientStateHelper, getTransientStateHelper, isCompositeComponent, isInView, popComponentFromEL, pushComponentToEL, restoreTransientState, saveTransientState, setInView |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.apache.myfaces.trinidad.component.CollectionComponent |
|---|
getVar |
| Methods inherited from interface org.apache.myfaces.trinidad.model.RowKeyIndex |
|---|
areRowsAvailable, areRowsAvailable, areRowsAvailable, getRowCount, getRowData, getRowData, getRowData, getRowIndex, getRowKey, isRowAvailable, isRowAvailable, isRowAvailable, setRowIndex, setRowKey |
| Methods inherited from interface org.apache.myfaces.trinidad.model.LocalRowKeyIndex |
|---|
areRowsLocallyAvailable, areRowsLocallyAvailable, areRowsLocallyAvailable, clearCachedRow, clearCachedRow, clearCachedRows, clearCachedRows, clearLocalCache, getCachingStrategy, getEstimatedRowCount, getEstimatedRowCountConfidence, isRowLocallyAvailable, isRowLocallyAvailable |
| Field Detail |
|---|
public static final FacesBean.Type TYPE
public static final PropertyKey SELECTED_ROW_KEYS_KEY
public static final PropertyKey IMMEDIATE_KEY
public static final PropertyKey ROW_DISCLOSURE_LISTENER_KEY
public static final PropertyKey DISCLOSED_ROW_KEYS_KEY
public static final PropertyKey SELECTION_LISTENER_KEY
public static final PropertyKey VAR_STATUS_KEY
public static final PropertyKey VALUE_KEY
public static final PropertyKey FOCUS_ROW_KEY_KEY
public static final PropertyKey FOCUS_LISTENER_KEY
public static final PropertyKey INITIALLY_EXPANDED_KEY
public static final String NODE_STAMP_FACET
public static final String COMPONENT_FAMILY
public static final String COMPONENT_TYPE
| Constructor Detail |
|---|
public UIXTree()
protected UIXTree(String rendererType)
| Method Detail |
|---|
@Deprecated
public void setRowDisclosureListener(javax.faces.el.MethodBinding binding)
@Deprecated
public void setSelectionListener(javax.faces.el.MethodBinding binding)
public void queueEvent(javax.faces.event.FacesEvent event)
queueEvent in class UIXCollectionevent - a FacesEvent
public void broadcast(javax.faces.event.FacesEvent event)
throws javax.faces.event.AbortProcessingException
broadcast in class UIXCollectionevent -javax.faces.event.AbortProcessingExceptionprotected void postCreateCollectionModel(CollectionModel model)
UIXCollectioncreateCollectionModel. Subclasses can use this method to perform initialization after the CollectionModel is fully initialized. Subclassers should call super before accessing any component state to ensure that superclass initialization has been performed.postCreateCollectionModel in class UIXCollectionmodel - The model instance returned by<createCollectionModelUIXCollection.createCollectionModel(org.apache.myfaces.trinidad.model.CollectionModel, java.lang.Object)
public CollectionModel createCollectionModel(CollectionModel current,
Object value)
UIXCollectionpostCreateCollectionModelcreateCollectionModel in class UIXHierarchycurrent - the current CollectionModel, or null if there is none.value - this is the value returned from UIXCollection.getValue()UIXCollection.postCreateCollectionModel(org.apache.myfaces.trinidad.model.CollectionModel)
protected void processFacetsAndChildren(javax.faces.context.FacesContext context,
javax.faces.event.PhaseId phaseId)
UIXCollectionUIXCollection.processComponent(javax.faces.context.FacesContext, javax.faces.component.UIComponent, javax.faces.event.PhaseId) as many times as necessary for each facet and child. UIXCollection.processComponent(javax.faces.context.FacesContext, javax.faces.component.UIComponent, javax.faces.event.PhaseId) may be called repeatedly for the same child if that child is being stamped.processFacetsAndChildren in class UIXCollection
protected boolean visitChildren(javax.faces.component.visit.VisitContext visitContext,
javax.faces.component.visit.VisitCallback callback)
UIXCollectionOverride default children visiting code to visit the facets and facets of the columns before delegating to the visitData to visit the individual rows of data.
Subclasses should override this method if they wish to change the way in which the non-stamped children are visited. If they wish to change the wash the the stamped children are visited, they should override visitData instead.
visitChildren in class UIXCollectionvisitContext - the VisitContext for this visitcallback - the VisitCallback instancetrue if all of the children to visit have been visitedUIXCollection.visitData(javax.faces.component.visit.VisitContext, javax.faces.component.visit.VisitCallback)
protected boolean visitData(javax.faces.component.visit.VisitContext visitContext,
javax.faces.component.visit.VisitCallback callback)
UIXCollectionvisitData in class UIXCollectionvisitContext - The visiting contextcallback - The visit callbackUIXCollection.visitChildren(VisitContext, VisitCallback)protected FacesBean createFacesBean(String rendererType)
createFacesBean in class UIXComponentBase
protected void __encodeBegin(javax.faces.context.FacesContext context)
throws IOException
IOExceptionUIXCollection.__encodeBegin(javax.faces.context.FacesContext)public final javax.faces.component.UIComponent getNodeStamp()
public final void setNodeStamp(javax.faces.component.UIComponent nodeStampFacet)
public final RowKeySet getSelectedRowKeys()
public final void setSelectedRowKeys(RowKeySet selectedRowKeys)
selectedRowKeys - the new selectedRowKeys valuepublic final boolean isImmediate()
public final void setImmediate(boolean immediate)
immediate - the new immediate valuepublic final javax.el.MethodExpression getRowDisclosureListener()
public final void setRowDisclosureListener(javax.el.MethodExpression rowDisclosureListener)
rowDisclosureListener - the new rowDisclosureListener valuepublic final RowKeySet getDisclosedRowKeys()
public final void setDisclosedRowKeys(RowKeySet disclosedRowKeys)
disclosedRowKeys - the new disclosedRowKeys valuepublic final javax.el.MethodExpression getSelectionListener()
public final void setSelectionListener(javax.el.MethodExpression selectionListener)
selectionListener - the new selectionListener valuepublic final String getVarStatus()
getVarStatus in class UIXCollectionUIXCollection.createVarStatusMap()public final void setVarStatus(String varStatus)
varStatus - the new varStatus valuepublic final Object getValue()
getValue in class UIXCollectionpublic final void setValue(Object value)
value - the new value valuepublic final Object getFocusRowKey()
getFocusRowKey in class UIXHierarchypublic final void setFocusRowKey(Object focusRowKey)
focusRowKey - the new focusRowKey valuepublic final javax.el.MethodExpression getFocusListener()
public final void setFocusListener(javax.el.MethodExpression focusListener)
focusListener - the new focusListener valuepublic final boolean isInitiallyExpanded()
public final void setInitiallyExpanded(boolean initiallyExpanded)
initiallyExpanded - the new initiallyExpanded valuepublic final void addRowDisclosureListener(RowDisclosureListener listener)
listener - the rowDisclosure listener to addpublic final void removeRowDisclosureListener(RowDisclosureListener listener)
listener - the rowDisclosure listener to removepublic final RowDisclosureListener[] getRowDisclosureListeners()
public final void addSelectionListener(SelectionListener listener)
listener - the selection listener to addpublic final void removeSelectionListener(SelectionListener listener)
listener - the selection listener to removepublic final SelectionListener[] getSelectionListeners()
public final void addFocusListener(FocusListener listener)
listener - the focus listener to addpublic final void removeFocusListener(FocusListener listener)
listener - the focus listener to removepublic final FocusListener[] getFocusListeners()
public String getFamily()
getFamily in class UIXComponentBaseprotected FacesBean.Type getBeanType()
getBeanType in class UIXComponentBase
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Copyright © 2001-2013 The Apache Software Foundation. All Rights Reserved.