01: /*
02: * Version: MPL 1.1/GPL 2.0/LGPL 2.1
03: *
04: * "The contents of this file are subject to the Mozilla Public License
05: * Version 1.1 (the "License"); you may not use this file except in
06: * compliance with the License. You may obtain a copy of the License at
07: * http://www.mozilla.org/MPL/
08: *
09: * Software distributed under the License is distributed on an "AS IS"
10: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
11: * License for the specific language governing rights and limitations under
12: * the License.
13: *
14: * The Original Code is ICEfaces 1.5 open source software code, released
15: * November 5, 2006. The Initial Developer of the Original Code is ICEsoft
16: * Technologies Canada, Corp. Portions created by ICEsoft are Copyright (C)
17: * 2004-2006 ICEsoft Technologies Canada, Corp. All Rights Reserved.
18: *
19: * Contributor(s): _____________________.
20: *
21: * Alternatively, the contents of this file may be used under the terms of
22: * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"
23: * License), in which case the provisions of the LGPL License are
24: * applicable instead of those above. If you wish to allow use of your
25: * version of this file only under the terms of the LGPL License and not to
26: * allow others to use your version of this file under the MPL, indicate
27: * your decision by deleting the provisions above and replace them with
28: * the notice and other provisions required by the LGPL License. If you do
29: * not delete the provisions above, a recipient may use your version of
30: * this file under either the MPL or the LGPL License."
31: *
32: */
33:
34: package com.icesoft.faces.component.menubar;
35:
36: import javax.faces.el.ValueBinding;
37: import java.util.List;
38:
39: /**
40: * MenuItems is the JSF component class that represents a heirarchy of ICEfaces
41: * MenuItems. <p>This is the submenu component to use if you want to supply a
42: * (potentially) dynamic heirarchy of menuItems.
43: * <p/>
44: * MenuItems extends the ICEfaces MenuItemBase component.
45: * <p/>
46: * By default this component is rendered by the "com.icesoft.faces.View"
47: * renderer type.
48: *
49: * @author Chris Brown
50: * @author gmccleary
51: * @version 1.1
52: */
53: public class MenuItems extends MenuItemBase {
54:
55: private String value;
56:
57: /* (non-Javadoc)
58: * @see javax.faces.component.UIComponent#getRendererType()
59: */
60: public String getRendererType() {
61: return "com.icesoft.faces.View";
62: }
63:
64: /* (non-Javadoc)
65: * @see javax.faces.component.UIComponent#getFamily()
66: */
67: public String getFamily() {
68: return "com.icesoft.faces.MenuNodes";
69: }
70:
71: /* (non-Javadoc)
72: * @see javax.faces.component.UICommand#getValue()
73: */
74: public Object getValue() {
75:
76: if (value != null) {
77: return value;
78: }
79: ValueBinding vb = getValueBinding("value");
80: if (vb != null) {
81:
82: return (List) vb.getValue(getFacesContext());
83: }
84: return null;
85: }
86:
87: /**
88: * @param value
89: */
90: public void setValue(String value) {
91:
92: this.value = value;
93: }
94: }
|