Package org.apache.jmeter.visualizers

# Class MailerVisualizer

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.apache.jmeter.gui.AbstractJMeterGuiComponent
org.apache.jmeter.visualizers.gui.AbstractListenerGui
org.apache.jmeter.visualizers.gui.AbstractVisualizer
org.apache.jmeter.visualizers.MailerVisualizer

All Implemented Interfaces:
  `ActionListener`, `ImageObserver`, `MenuContainer`, `Serializable`, `EventListener`, `Accessible`, `ChangeListener`, `ClearGui`, `JMeterGUIComponent`, `UnsharedComponent`, `Clearable`, `Printable`, `Visualizer`

public class MailerVisualizer extends AbstractVisualizer implements ActionListener, Clearable, ChangeListener
This class implements a visualizer that mails a message when an error occurs.

See Also:
  - Serialized Form

## Nested Class Summary

## Nested classes/interfaces inherited from class javax.swing.JPanel

`JPanel.AccessibleJPanel`

## Nested classes/interfaces inherited from class javax.swing.JComponent

`JComponent.AccessibleJComponent`

## Nested classes/interfaces inherited from class java.awt.Container

`Container.AccessibleAWTContainer`

## Nested classes/interfaces inherited from class java.awt.Component

`Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

## Field Summary

### Fields inherited from class org.apache.jmeter.visualizers.gui.AbstractVisualizer

`collector, isStats`

### Fields inherited from class org.apache.jmeter.gui.AbstractJMeterGuiComponent

`bindingGroup, namePanel`

### 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`

### Fields inherited from interface java.awt.image.ImageObserver

`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

## Constructor Summary

Constructors
Constructor
Description
`MailerVisualizer()`
Constructs the MailerVisualizer and initializes its GUI.

## Method Summary

Modifier and Type
Method
Description
`void`
`actionPerformed(ActionEvent e)`
Reacts on an ActionEvent (like pressing a button).
`void`
`add(SampleResult res)`
This method is called by sampling thread to inform the visualizer about the arrival of a new sample.
`void`
`clearData()`
Clears any stored sampling-information.
`void`
`configure(org.apache.jmeter.testelement.TestElement el)`
Restores MailerVisualizer.
`org.apache.jmeter.testelement.TestElement`
`createTestElement()`
Makes MailerVisualizer storable.
`String`
`getAttributesTitle()`
Returns a String for the title of the attributes-panel as set up in the properties-file using the lookup-constant "mailer_attributes_panel".
`JPanel`
`getControlPanel()`
`String`
`getLabelResource()`
Get the component's resource name, which getStaticLabel uses to derive the component's label in the local language.
`void`
`modifyTestElement(org.apache.jmeter.testelement.TestElement c)`
GUI components are responsible for populating TestElements they create with the data currently held in the GUI components.
`void`
`stateChanged(ChangeEvent e)`
Invoked when the target of the listener has changed its state.
`String`
`toString()`

### Methods inherited from class org.apache.jmeter.visualizers.gui.AbstractVisualizer

`clearGui, configureTestElement, getErrorLoggingCheckbox, getFile, getFilePanel, getModel, isStats, makeTitlePanel, setFile, setModel`

### Methods inherited from class org.apache.jmeter.visualizers.gui.AbstractListenerGui

`createPopupMenu, getMenuCategories`

### Methods inherited from class org.apache.jmeter.gui.AbstractJMeterGuiComponent

`configureTestElement, createTitleLabel, getComment, getDocAnchor, getName, getNamePanel, getPrintableComponent, getStaticLabel, isEnabled, makeBorder, makeScrollPane, makeScrollPane, setComment, setEnabled, setName, wrapTitlePanel`

### Methods inherited from class javax.swing.JPanel

`getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI`

### 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, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, 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, addImpl, 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, setLayout, 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, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, 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, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle`

### Methods inherited from class java.lang.Object

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

### Methods inherited from interface org.apache.jmeter.gui.JMeterGUIComponent

`assignDefaultValues, canBeAdded, makeTestElement`

## Constructor Details

### MailerVisualizer

public MailerVisualizer()
Constructs the MailerVisualizer and initializes its GUI.

## Method Details

### getControlPanel

public JPanel getControlPanel()

### clearData

public void clearData()
Clears any stored sampling-information.

Specified by:
  `clearData` in interface `Clearable`

### add

public void add(SampleResult res)
Description copied from interface: `Visualizer`
This method is called by sampling thread to inform the visualizer about the arrival of a new sample.

Specified by:
  `add` in interface `Visualizer`
Parameters:
  `res` - the newly arrived sample

### toString

public String toString()

Overrides:
  `toString` in class `Component`

### getLabelResource

public String getLabelResource()
Description copied from interface: `JMeterGUIComponent`
Get the component's resource name, which getStaticLabel uses to derive the component's label in the local language. The resource name is fixed, and does not vary with the selected language.

Normally this method should be overridden in preference to overriding getStaticLabel(). However where the resource name is not available or required, getStaticLabel() may be overridden instead.

Specified by:
  `getLabelResource` in interface `JMeterGUIComponent`
Returns:
  the resource name

### getAttributesTitle

public String getAttributesTitle()
Returns a String for the title of the attributes-panel as set up in the properties-file using the lookup-constant "mailer_attributes_panel".

Returns:
  The title of the component.

### actionPerformed

public void actionPerformed(ActionEvent e)
Reacts on an ActionEvent (like pressing a button).

Specified by:
  `actionPerformed` in interface `ActionListener`
Parameters:
  `e` - The ActionEvent with information about the event and its source.

### configure

public void configure(org.apache.jmeter.testelement.TestElement el)
Restores MailerVisualizer.

Specified by:
  `configure` in interface `JMeterGUIComponent`
Overrides:
  `configure` in class `AbstractVisualizer`
Parameters:
  `el` - the TestElement to configure

### createTestElement

public org.apache.jmeter.testelement.TestElement createTestElement()
Makes MailerVisualizer storable.

Specified by:
  `createTestElement` in interface `JMeterGUIComponent`
Overrides:
  `createTestElement` in class `AbstractVisualizer`
Returns:
  the Test Element object that the GUI component represents.

### modifyTestElement

public void modifyTestElement(org.apache.jmeter.testelement.TestElement c)
GUI components are responsible for populating TestElements they create with the data currently held in the GUI components. This method should overwrite whatever data is currently in the TestElement as it is called after a user has filled out the form elements in the gui with new information.

If you override `AbstractJMeterGuiComponent`, you might want using `AbstractJMeterGuiComponent.bindingGroup` instead of overriding `modifyTestElement`.

The canonical implementation looks like this:

     @Override
     public void modifyTestElement(TestElement element) {
         super.modifyTestElement(element); // clear the element and assign basic fields like name, gui class, test class
         // Using the element setters (preferred):
         // If the field is empty, you probably want to remove the property instead of storing an empty string
         // See Streamline binding of UI elements to TestElement properties
         // for more details
         TestElementXYZ xyz = (TestElementXYZ) element;
         xyz.setState(StringUtils.defaultIfEmpty(guiState.getText(), null));
         xyz.setCode(StringUtils.defaultIfEmpty(guiCode.getText(), null));
         ... other GUI fields ...
         // or directly (do not use unless there is no setter for the field):
         element.setProperty(TestElementXYZ.STATE, StringUtils.defaultIfEmpty(guiState.getText(), null))
         element.setProperty(TestElementXYZ.CODE, StringUtils.defaultIfEmpty(guiCode.getText(), null))
         ... other GUI fields ...
     }

Specified by:
  `modifyTestElement` in interface `JMeterGUIComponent`
Overrides:
  `modifyTestElement` in class `AbstractVisualizer`
Parameters:
  `c` - the TestElement to modify

### stateChanged

public void stateChanged(ChangeEvent e)
Invoked when the target of the listener has changed its state. This implementation assumes that the target is the FilePanel, and will update the result collector for the new filename.

Specified by:
  `stateChanged` in interface `ChangeListener`
Overrides:
  `stateChanged` in class `AbstractVisualizer`
Parameters:
  `e` - the event that has occurred