Package org.zaproxy.zap.extension.alert
Class PopupMenuItemAlert
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.AbstractButton
-
- javax.swing.JMenuItem
-
- org.parosproxy.paros.extension.ExtensionPopupMenuItem
-
- org.zaproxy.zap.extension.alert.PopupMenuItemAlert
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.ItemSelectable
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,javax.swing.MenuElement
,javax.swing.SwingConstants
,ExtensionPopupMenuComponent
- Direct Known Subclasses:
PopupMenuAlertDelete
,PopupMenuAlertEdit
,PopupMenuAlertSetFalsePositive
,PopupMenuAlertsRefresh
public abstract class PopupMenuItemAlert extends ExtensionPopupMenuItem
AnExtensionPopupMenuItem
that exposes the selectedalerts
of the Alerts tree.- Since:
- 2.6.0
- See Also:
performAction(Alert)
, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JMenuItem
javax.swing.JMenuItem.AccessibleJMenuItem
-
Nested classes/interfaces inherited from class javax.swing.AbstractButton
javax.swing.AbstractButton.AccessibleAbstractButton, javax.swing.AbstractButton.ButtonChangeListener
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
-
Fields inherited from class org.parosproxy.paros.extension.ExtensionPopupMenuItem
ATTACK_MENU_INDEX, CONTEXT_FLAG_MENU_INDEX, EXCLUDE_MENU_INDEX, FLAG_MENU_INDEX
-
Fields inherited from class javax.swing.AbstractButton
actionListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, itemListener, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description PopupMenuItemAlert(java.lang.String label)
Constructs aPopupMenuItemAlert
with the given label and with no support for multiple selected alerts (the menu button will not be enabled when the Alerts tree has multiple selected alerts).PopupMenuItemAlert(java.lang.String label, boolean multiSelect)
Constructs aPopupMenuItemAlert
with the given label and whether or not the menu item supports multiple selected alerts (iffalse
the menu button will not be enabled when the Alerts tree has multiple selected alerts).
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected ExtensionAlert
getExtensionAlert()
Gets theExtensionAlert
.protected boolean
isButtonEnabledForNumberOfSelectedAlerts(int count)
Tells whether or not the button should be enabled for the given number of selected alerts.boolean
isEnableForComponent(java.awt.Component invoker)
By default, the pop up menu item button is enabled and it is enable for allinvoker
s.boolean
isMultiSelect()
Tells whether or not the menu item supports multiple selected alerts.protected abstract void
performAction(Alert alert)
Performs the action of the menu item for the given selected alert.protected void
performActions(java.util.Set<Alert> alerts)
Performs the action of the menu item for each of the given selected alerts.-
Methods inherited from class org.parosproxy.paros.extension.ExtensionPopupMenuItem
dismissed, getMenuIndex, getParentMenuIndex, getParentMenuName, isDummyItem, isEnableForMessageContainer, isSafe, isSubMenu, precedeWithSeparator, setMenuIndex, setParentMenuIndex, setPrecedeWithSeparator, setSucceedWithSeparator, succeedWithSeparator
-
Methods inherited from class javax.swing.JMenuItem
actionPropertyChanged, addMenuDragMouseListener, addMenuKeyListener, configurePropertiesFromAction, fireMenuDragMouseDragged, fireMenuDragMouseEntered, fireMenuDragMouseExited, fireMenuDragMouseReleased, fireMenuKeyPressed, fireMenuKeyReleased, fireMenuKeyTyped, getAccelerator, getAccessibleContext, getComponent, getMenuDragMouseListeners, getMenuKeyListeners, getSubElements, getUIClassID, init, isArmed, menuSelectionChanged, paramString, processKeyEvent, processMenuDragMouseEvent, processMenuKeyEvent, processMouseEvent, removeMenuDragMouseListener, removeMenuKeyListener, setAccelerator, setArmed, setEnabled, setModel, setUI, updateUI
-
Methods inherited from class javax.swing.AbstractButton
addActionListener, addChangeListener, addImpl, addItemListener, checkHorizontalKey, checkVerticalKey, createActionListener, createActionPropertyChangeListener, createChangeListener, createItemListener, doClick, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHideActionText, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, isSelected, paintBorder, removeActionListener, removeChangeListener, removeItemListener, removeNotify, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setFocusPainted, setHideActionText, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setMultiClickThreshhold, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelected, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Constructor Detail
-
PopupMenuItemAlert
public PopupMenuItemAlert(java.lang.String label)
Constructs aPopupMenuItemAlert
with the given label and with no support for multiple selected alerts (the menu button will not be enabled when the Alerts tree has multiple selected alerts).- Parameters:
label
- the label of the menu item- See Also:
isEnableForComponent(Component)
-
PopupMenuItemAlert
public PopupMenuItemAlert(java.lang.String label, boolean multiSelect)
Constructs aPopupMenuItemAlert
with the given label and whether or not the menu item supports multiple selected alerts (iffalse
the menu button will not be enabled when the Alerts tree has multiple selected alerts).- Parameters:
label
- the label of the menu itemmultiSelect
-true
if the menu item supports multiple selected alerts,false
otherwise.- See Also:
isEnableForComponent(Component)
-
-
Method Detail
-
isMultiSelect
public final boolean isMultiSelect()
Tells whether or not the menu item supports multiple selected alerts. Iffalse
the menu button will not be enabled when the Alerts tree has multiple selected alerts.- Returns:
true
if the menu item supports multiple selected alerts,false
otherwise.- See Also:
isButtonEnabledForNumberOfSelectedAlerts(int)
-
performAction
protected abstract void performAction(Alert alert)
Performs the action of the menu item for the given selected alert.By default, it's called for each selected alert.
- Parameters:
alert
- the selected alert, nevernull
- See Also:
performActions(Set)
-
performActions
protected void performActions(java.util.Set<Alert> alerts)
Performs the action of the menu item for each of the given selected alerts.Called when the pop up menu item is chosen.
- Parameters:
alerts
- the selected alerts, nevernull
- See Also:
performAction(Alert)
-
isButtonEnabledForNumberOfSelectedAlerts
protected boolean isButtonEnabledForNumberOfSelectedAlerts(int count)
Tells whether or not the button should be enabled for the given number of selected alerts.If multiple alert nodes are selected the
count
corresponds to the number of selected alerts. If just a middle alert node (that is, the nodes that show the alert name) is selected thecount
is only one alert whenmultiple selection
is not supported, otherwise it is the number of child nodes (which is one alert per node).By default the button is only enabled if at least one alert is selected. For menu items that do not support multiple selection it's only enabled if just one alert is selected.
Note: This method is only called if the invoker is the Alerts tree and the root node is not selected.
- Parameters:
count
- the number of selected alerts- Returns:
true
if the button should be enabled,false
otherwise
-
isEnableForComponent
public boolean isEnableForComponent(java.awt.Component invoker)
Description copied from class:ExtensionPopupMenuItem
By default, the pop up menu item button is enabled and it is enable for allinvoker
s.- Specified by:
isEnableForComponent
in interfaceExtensionPopupMenuComponent
- Overrides:
isEnableForComponent
in classExtensionPopupMenuItem
- Parameters:
invoker
- the component where the pop up menu was invoked- Returns:
true
if the menu component is enable for the giveninvoker
,false
otherwise.- See Also:
isButtonEnabledForNumberOfSelectedAlerts(int)
-
getExtensionAlert
protected ExtensionAlert getExtensionAlert()
Gets theExtensionAlert
.- Returns:
- the
ExtensionAlert
, ornull
if the extension is not enabled.
-
-