Skip navigation links
org.apache.myfaces.trinidad.model
Class ViewIdPropertyMenuModel
java.lang.Object
javax.faces.model.DataModel
org.apache.myfaces.trinidad.model.CollectionModel
org.apache.myfaces.trinidad.model.TreeModel
org.apache.myfaces.trinidad.model.MenuModel
org.apache.myfaces.trinidad.model.BaseMenuModel
org.apache.myfaces.trinidad.model.ViewIdPropertyMenuModel
- All Implemented Interfaces:
- LocalRowKeyIndex, RowKeyIndex, TreeLocalRowKeyIndex
- Direct Known Subclasses:
- ProcessMenuModel
-
public class ViewIdPropertyMenuModel
- extends BaseMenuModel
Creates a MenuModel from a TreeModel where nodes in the treeModel contain viewId information.
Each node must have either a bean getter method or a Map property that returns a viewId. There are several restrictions on the data:
- The nodes in the tree must either be all beans or all maps, but not a mix of beans and maps.
- The viewId of a node can be null, but if set it must be unique.
- The tree cannot be mutable.
The getFocusPath method
- gets the current viewId by calling FacesContext.getCurrentInstance().getViewRoot().getViewId()
- compares the current viewId with the viewId's in the nodes of the tree
- returns the path to the node with the current viewId or null if the current viewId can't be found
Assuming that NavigationTree is a tree of beans with a vieId getter, an example of creating a MenuModel with this class might look like:
CollectionModel collectionModel = ModelUtils.toCollectionModel(new NavigationTree());
TreeModel treeModel = new ChildPropertyTreeModel(collectionModel, "children");
MenuModel menuModel = new ViewIdPropertyMenuModel(treeModel, "viewId");
| Method Summary |
void |
addViewId(java.lang.String newViewId, java.lang.String aliasedViewId)
Maps the focusPath returned when the viewId is newViewId to the focusPath returned when the viewId is aliasedViewId. |
protected java.lang.String |
getCurrentViewId()
Returns the current viewId. |
java.lang.Object |
getFocusRowKey()
Returns the rowKey to the current viewId. |
java.lang.String |
getViewIdProperty()
Gets the property to use to retrieve a viewId from a node in the tree |
void |
setViewIdProperty(java.lang.String viewIdProperty)
Sets the property to use to retrieve a viewId from a node in the tree |
void |
setWrappedData(java.lang.Object data)
|
| Methods inherited from class org.apache.myfaces.trinidad.model.BaseMenuModel |
enterContainer, exitContainer, getContainerRowKey, getRowCount, getRowData, getRowIndex, getRowKey, getWrappedData, isContainer, isRowAvailable, setRowIndex, setRowKey |
| Methods inherited from class org.apache.myfaces.trinidad.model.TreeModel |
areRowsLocallyAvailable, areRowsLocallyAvailable, areRowsLocallyAvailable, getAllAncestorContainerRowKeys, getContainerRowKey, getDepth, getDepth, isChildCollectionLocallyAvailable, isChildCollectionLocallyAvailable, isChildCollectionLocallyAvailable, isContainerEmpty |
| Methods inherited from class org.apache.myfaces.trinidad.model.CollectionModel |
areRowsLocallyAvailable, areRowsLocallyAvailable, areRowsLocallyAvailable, clearCachedRow, clearCachedRow, clearCachedRows, clearCachedRows, clearLocalCache, ensureRowsAvailable, getCachingStrategy, getEstimatedRowCount, getEstimatedRowCountConfidence, getRowData, getRowData, getSortCriteria, isRowAvailable, isRowLocallyAvailable, isRowLocallyAvailable, isSortable, setSortCriteria |
| Methods inherited from class javax.faces.model.DataModel |
addDataModelListener, getDataModelListeners, removeDataModelListener |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ViewIdPropertyMenuModel
public ViewIdPropertyMenuModel()
- No-arg constructor for use with managed-beans. Must call the
setViewIdProperty(java.lang.String) and setWrappedData(java.lang.Object) methods after constructing this instance.
ViewIdPropertyMenuModel
public ViewIdPropertyMenuModel(java.lang.Object instance,
java.lang.String viewIdProperty)
throws java.beans.IntrospectionException
-
- Parameters:
instance - a treeModel. This object will be passed to ModelUtils.toTreeModel(java.lang.Object)
viewIdProperty - the property to use to retrieve a viewId from a node in the tree
- Throws:
java.beans.IntrospectionException
setWrappedData
public void setWrappedData(java.lang.Object data)
-
- Overrides:
setWrappedData in class BaseMenuModel
getFocusRowKey
public java.lang.Object getFocusRowKey()
- Returns the rowKey to the current viewId.
The getFocusRowKey method
- gets the current viewId by calling FacesContext.getCurrentInstance().getViewRoot().getViewId()
- compares the current viewId with the viewId's in the nodes of the tree
- returns the rowKey to the node with the current viewId or null if the current viewId can't be found
-
- Specified by:
getFocusRowKey in class MenuModel
-
- Returns:
- the rowKey to the node with the current viewId or null if the current viewId can't be found
addViewId
public void addViewId(java.lang.String newViewId,
java.lang.String aliasedViewId)
- Maps the focusPath returned when the viewId is newViewId to the focusPath returned when the viewId is aliasedViewId. This allows view id's not in the treeModel to be mapped to a focusPath.
-
- Parameters:
newViewId - the view id to add a focus path for
aliasedViewId - the view id to use to get the focusPath to use for newViewId
getViewIdProperty
public java.lang.String getViewIdProperty()
- Gets the property to use to retrieve a viewId from a node in the tree
setViewIdProperty
public void setViewIdProperty(java.lang.String viewIdProperty)
- Sets the property to use to retrieve a viewId from a node in the tree
getCurrentViewId
protected java.lang.String getCurrentViewId()
- Returns the current viewId.
-
- Returns:
- the current viewId or null if the current viewId can't be found
Skip navigation links
Copyright © 2001-2012 The Apache Software Foundation. All Rights Reserved.