|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.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.XMLMenuModel
public class XMLMenuModel
Creates a Menu Model 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 getFocusRowKey method
The Model is created by specifying it in the faces-config.xml file as follows
<managed-bean> <managed-bean-name>hr_menu</managed-bean-name> <managed-bean-class> org.apache.myfaces.trinidad.model.XMLMenuModel </managed-bean-class> <managed-bean-scope>request</managed-bean-scope> <managed-property> <property-name>source</property-name> <property-class>java.lang.String</property-class> <value>/WEB-INF/hr-menu.xml</value> </managed-property> </managed-bean>Objects of this class are not thread safe and should be used only in request scope.
Nested Class Summary | |
---|---|
static interface |
XMLMenuModel.MenuContentHandler
|
Nested classes/interfaces inherited from interface org.apache.myfaces.trinidad.model.LocalRowKeyIndex |
---|
LocalRowKeyIndex.Confidence, LocalRowKeyIndex.LocalCachingStrategy |
Field Summary | |
---|---|
static String |
SHARED_MODEL_INDICATOR_KEY
This key is used to store information about the included xml menu models which are constructed during parsing. |
Constructor Summary | |
---|---|
XMLMenuModel()
|
Method Summary | |
---|---|
void |
addViewId(String newViewId,
String aliasedViewId)
Maps the focusPath returned when the viewId is newViewId to the focusPath returned when the viewId is aliasedViewId. |
protected Object |
getCacheKey()
|
protected int |
getContentHandlerId()
|
protected Map<Object,List<XMLMenuModel.MenuContentHandler>> |
getContentHandlerMap()
Returns the map of content handlers which hold the state of one XML tree. |
boolean |
getCreateHiddenNodes()
Gets the boolean value that determines whether or not to create nodes whose rendered attribute value is false. |
Object |
getCustomProperty(Object node,
String propName)
Gets the list of custom properties from the node and returns the value of propName. |
Object |
getFocusRowKey()
Returns the rowKey to the current viewId, or in the case of where the model has nodes with duplicate viewId's and one is encountered, we return the rowKey of the currently selected node. |
Object |
getNode(String id)
Get a the MenuNode corresponding to the key "id" from the node id hashmap. |
String |
getSource()
Gets the URI to the XML menu metadata. |
InputStream |
getStream(String uri)
getStream - Opens an InputStream to the provided URI. |
Map<String,List<Object>> |
getViewIdFocusPathMap()
Get the Model's viewIdFocusPathMap |
protected boolean |
isCompatibilityMode()
This needs to be overriden by classes extending XmlMenuModel and using APIs for the nodes of XmlMenuModel. |
void |
setCreateHiddenNodes(boolean createHiddenNodes)
Sets the boolean value that determines whether or not to create nodes whose rendered attribute value is false. |
void |
setCurrentlyPostedNode(Object currentNode)
Sets the currently selected node and the request method. |
void |
setSource(String menuMetadataUri)
setSource - specifies the XML metadata and creates the XML Menu Model. |
void |
setWrappedData(Object data)
Makes the TreeModel part of the menu model. |
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 javax.faces.model.DataModel |
---|
addDataModelListener, getDataModelListeners, iterator, removeDataModelListener |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String SHARED_MODEL_INDICATOR_KEY
Constructor Detail |
---|
public XMLMenuModel()
Method Detail |
---|
protected boolean isCompatibilityMode()
public void setSource(String menuMetadataUri)
menuMetadataUri
- - String URI to the XML metadata.public void setWrappedData(Object data)
setWrappedData
in class BaseMenuModel
data
- The Tree Model instancepublic Object getFocusRowKey()
The getFocusRowKey method
getFocusRowKey
in class MenuModel
public String getSource()
public void setCreateHiddenNodes(boolean createHiddenNodes)
public boolean getCreateHiddenNodes()
public void addViewId(String newViewId, String aliasedViewId)
newViewId
- the view id to add a focus path for.aliasedViewId
- the view id to use to get the focusPath to use
for newViewId.public void setCurrentlyPostedNode(Object currentNode)
currentNode
- The currently selected node in the menupublic Object getNode(String id)
id
- - String node id key for the hashmap entry.
public Object getCustomProperty(Object node, String propName)
node
- Object used to get its list of custom propertiespropName
- String name of the property whose value is desired
public InputStream getStream(String uri)
uri
- - String uri to a data source.
public Map<String,List<Object>> getViewIdFocusPathMap()
protected Map<Object,List<XMLMenuModel.MenuContentHandler>> getContentHandlerMap()
scopeMap
-
protected int getContentHandlerId()
protected Object getCacheKey()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |