1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.jetspeed.portalsite;
18
19 import java.util.List;
20
21 /***
22 * This interface describes the portal-site menu elements
23 * constructed and returned to decorators.
24 *
25 * @author <a href="mailto:rwatler@apache.org">Randy Watler</a>
26 * @version $Id: Menu.java 516448 2007-03-09 16:25:47Z ate $
27 */
28 public interface Menu extends MenuElement
29 {
30 /***
31 * getName - get name of menu
32 *
33 * @return menu name
34 */
35 String getName();
36
37 /***
38 * getUrl - get url of top level folder that defined
39 * menu options; only available for menus
40 * defined without multiple options, nested
41 * menus, or separators
42 *
43 * @return folder url
44 */
45 String getUrl();
46
47 /***
48 * isHidden - get hidden state of folder that defined
49 * menu options; only available for menus
50 * defined without multiple options, nested
51 * menus, or separators
52 *
53 * @return hidden state
54 */
55 boolean isHidden();
56
57 /***
58 * isSelected - return true if an option or nested
59 * menu within this menu are selected by
60 * the specified request context
61 *
62 * @param context request context
63 * @return selected state
64 */
65 boolean isSelected(PortalSiteRequestContext context);
66
67 /***
68 * getElements - get ordered list of menu elements that
69 * are members of this menu; possibly contains
70 * options, nested menus, or separators
71 *
72 * @return menu elements list
73 */
74 List getElements();
75
76 /***
77 * isEmpty - get empty state of list of menu elements
78 *
79 * @return menu elements list empty state
80 */
81 boolean isEmpty();
82
83 /***
84 * getSelectedElement - return selected option or nested
85 * menu within this menu selected by
86 * the specified request context
87 *
88 * @return selected menu element
89 */
90 MenuElement getSelectedElement(PortalSiteRequestContext context);
91 }