# Class MenuFactory

java.lang.Object
org.apache.jmeter.gui.util.MenuFactory

public final class MenuFactory extends Object

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`ASSERTIONS`
`static final String`
`CONFIG_ELEMENTS`
`static final String`
`CONTROLLERS`
`static final String`
`FRAGMENTS`
`static final String`
`LISTENERS`
`static final String`
`NON_TEST_ELEMENTS`
`static final String`
`POST_PROCESSORS`
`static final String`
`PRE_PROCESSORS`
`static final String`
`SAMPLERS`
`static final String`
`THREADS`
`static final String`
`TIMERS`

## Method Summary

Modifier and Type
Method
Description
`static void`
`addEditMenu(JPopupMenu menu, boolean removable)`
`static void`
`addFileMenu(JPopupMenu pop)`
`static void`
`addFileMenu(JPopupMenu menu, boolean addSaveTestFragmentMenu)`
`static void`
`addPasteResetMenu(JPopupMenu menu)`
`static boolean`
`canAddTo(JMeterTreeNode parentNode, JMeterTreeNode[] nodes)`
Determine whether or not nodes can be added to this parent.
`static boolean`
`canAddTo(JMeterTreeNode parentNode, TestElement element)`
Determine whether or not nodes can be added to this parent.
`static JPopupMenu`
`getDefaultAssertionMenu()`
`static JPopupMenu`
`getDefaultConfigElementMenu()`
`static JPopupMenu`
`getDefaultControllerMenu()`
`static JPopupMenu`
`getDefaultExtractorMenu()`
`static JPopupMenu`
`getDefaultMenu()`
`static JPopupMenu`
`getDefaultSamplerMenu()`
`static JPopupMenu`
`getDefaultTimerMenu()`
`static JPopupMenu`
`getDefaultVisualizerMenu()`
`static JMenu`
`makeMenu(String category, String actionCommand)`
Create a menu from a menu category.
`static JMenu`
`makeMenu(Collection<MenuInfo> menuInfo, String actionCommand, String menuName)`
Create a menu from a collection of items.
`static JMenuItem`
`makeMenuItem(String label, String name, String actionCommand)`
Create a single menu item
`static JMenuItem`
`makeMenuItem(String label, String name, String actionCommand, KeyStroke accel)`
`static Component`
`makeMenuItem(MenuInfo info, String actionCommand)`
Create a single menu item from a MenuInfo object
`static JMenuItem`
`makeMenuItemRes(String resource, String actionCommand)`
Create a single menu item from the resource name.
`static JMenuItem`
`makeMenuItemRes(String resource, String actionCommand, KeyStroke accel)`
`static JMenu`
`makeMenus(String[] categories, String label, String actionCommand)`
`static void`
`setEnabled(JMenu menu)`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### THREADS

public static final String THREADS

See Also:
  - Constant Field Values

### FRAGMENTS

public static final String FRAGMENTS

See Also:
  - Constant Field Values

### TIMERS

public static final String TIMERS

See Also:
  - Constant Field Values

### CONTROLLERS

public static final String CONTROLLERS

See Also:
  - Constant Field Values

### SAMPLERS

public static final String SAMPLERS

See Also:
  - Constant Field Values

### CONFIG_ELEMENTS

public static final String CONFIG_ELEMENTS

See Also:
  - Constant Field Values

### POST_PROCESSORS

public static final String POST_PROCESSORS

See Also:
  - Constant Field Values

### PRE_PROCESSORS

public static final String PRE_PROCESSORS

See Also:
  - Constant Field Values

### ASSERTIONS

public static final String ASSERTIONS

See Also:
  - Constant Field Values

### NON_TEST_ELEMENTS

public static final String NON_TEST_ELEMENTS

See Also:
  - Constant Field Values

### LISTENERS

public static final String LISTENERS

See Also:
  - Constant Field Values

## Method Details

### addEditMenu

public static void addEditMenu(JPopupMenu menu, boolean removable)

### addPasteResetMenu

public static void addPasteResetMenu(JPopupMenu menu)

### addFileMenu

public static void addFileMenu(JPopupMenu pop)

### addFileMenu

public static void addFileMenu(JPopupMenu menu, boolean addSaveTestFragmentMenu)

Parameters:
  `menu` - JPopupMenu
  `addSaveTestFragmentMenu` - Add Save as Test Fragment menu if true

### makeMenus

public static JMenu makeMenus(String[] categories, String label, String actionCommand)

### getDefaultControllerMenu

public static JPopupMenu getDefaultControllerMenu()

### getDefaultSamplerMenu

public static JPopupMenu getDefaultSamplerMenu()

### getDefaultConfigElementMenu

public static JPopupMenu getDefaultConfigElementMenu()

### getDefaultVisualizerMenu

public static JPopupMenu getDefaultVisualizerMenu()

### getDefaultTimerMenu

public static JPopupMenu getDefaultTimerMenu()

### getDefaultAssertionMenu

public static JPopupMenu getDefaultAssertionMenu()

### getDefaultExtractorMenu

public static JPopupMenu getDefaultExtractorMenu()

### getDefaultMenu

public static JPopupMenu getDefaultMenu()

### makeMenu

public static JMenu makeMenu(String category, String actionCommand)
Create a menu from a menu category.

Parameters:
  `category` - - predefined string (used as key for menuMap HashMap and messages.properties lookup)
  `actionCommand` - - predefined string, e.g. ActionNames.ADD
Returns:
  the menu
See Also:
  - `ActionNames`

### makeMenu

public static JMenu makeMenu(Collection<MenuInfo> menuInfo, String actionCommand, String menuName)
Create a menu from a collection of items.

Parameters:
  `menuInfo` - - collection of MenuInfo items
  `actionCommand` - - predefined string, e.g. ActionNames.ADD
  `menuName` - The name of the newly created menu
Returns:
  the menu
See Also:
  - `ActionNames`

### setEnabled

public static void setEnabled(JMenu menu)

### makeMenuItem

public static JMenuItem makeMenuItem(String label, String name, String actionCommand)
Create a single menu item

Parameters:
  `label` - for the MenuItem
  `name` - for the MenuItem
  `actionCommand` - - predefined string, e.g. ActionNames.ADD
Returns:
  the menu item
See Also:
  - `ActionNames`

### makeMenuItemRes

public static JMenuItem makeMenuItemRes(String resource, String actionCommand)
Create a single menu item from the resource name.

Parameters:
  `resource` - for the MenuItem
  `actionCommand` - - predefined string, e.g. ActionNames.ADD
Returns:
  the menu item
See Also:
  - `ActionNames`

### makeMenuItem

public static Component makeMenuItem(MenuInfo info, String actionCommand)
Create a single menu item from a MenuInfo object

Parameters:
  `info` - the MenuInfo object
  `actionCommand` - - predefined string, e.g. ActionNames.ADD
Returns:
  the menu item
See Also:
  - `ActionNames`

### makeMenuItemRes

public static JMenuItem makeMenuItemRes(String resource, String actionCommand, KeyStroke accel)

### makeMenuItem

public static JMenuItem makeMenuItem(String label, String name, String actionCommand, KeyStroke accel)

### canAddTo

public static boolean canAddTo(JMeterTreeNode parentNode, TestElement element)
Determine whether or not nodes can be added to this parent. Used by Merge

Parameters:
  `parentNode` - The `JMeterTreeNode` to test, if a new element can be added to it
  `element` - - top-level test element to be added
Returns:
  whether it is OK to add the element to this parent

### canAddTo

public static boolean canAddTo(JMeterTreeNode parentNode, JMeterTreeNode[] nodes)
Determine whether or not nodes can be added to this parent. Used by DragNDrop and Paste.

Parameters:
  `parentNode` - The `JMeterTreeNode` to test, if `nodes[]` can be added to it
  `nodes` - - array of nodes that are to be added
Returns:
  whether it is OK to add the dragged nodes to this parent