001 /*
002 * $Header$
003 * $Revision: 1998 $
004 * $Date: 2008-03-06 13:18:03 +0100 (Thu, 06 Mar 2008) $
005 *
006 * Copyright Computer Science Innovations (CSI), 2004. All rights reserved.
007 */
008 package org.springframework.richclient.factory;
009
010 import javax.swing.JCheckBoxMenuItem;
011 import javax.swing.JMenu;
012 import javax.swing.JMenuBar;
013 import javax.swing.JMenuItem;
014 import javax.swing.JPopupMenu;
015 import javax.swing.JRadioButtonMenuItem;
016
017 /**
018 * Marker for menu factories.
019 *
020 * @author Keith Donald
021 */
022 public interface MenuFactory {
023
024 /**
025 * Create a menu.
026 */
027 public JMenu createMenu();
028
029 /**
030 * Create a menu item.
031 */
032 public JMenuItem createMenuItem();
033
034 /**
035 * Create a menu item with a checkbox LaF.
036 */
037 public JCheckBoxMenuItem createCheckBoxMenuItem();
038
039 /**
040 * Create a menu item with a radio button LaF.
041 */
042 public JRadioButtonMenuItem createRadioButtonMenuItem();
043
044 /**
045 * Create a popup menu most commonly used when with the mouse.
046 */
047 public JPopupMenu createPopupMenu();
048
049 /**
050 * Create a menu bar.
051 */
052 public JMenuBar createMenuBar();
053
054 }