Package org.apache.jmeter.testbeans.gui

# Class TableEditor

java.lang.Object
java.beans.PropertyEditorSupport
org.apache.jmeter.testbeans.gui.TableEditor

All Implemented Interfaces:
  `FocusListener`, `PropertyEditor`, `EventListener`, `TableModelListener`, `ClearGui`, `TestBeanPropertyEditor`

public class TableEditor extends PropertyEditorSupport implements FocusListener, TestBeanPropertyEditor, TableModelListener, ClearGui
Table editor for TestBean GUI properties. Currently only works for:

- property type Collection of `String`s, where there is a single header entry

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `CLASSNAME`
  attribute name for class name of a table row; value must be java.lang.String, or a class which supports set and get/is methods for the property name.
  `static final String`
  `HEADERS`
  attribute name for table headers, value must be a String array.
  `static final String`
  `OBJECT_PROPERTIES`
  attribute name for property names within the `CLASSNAME`, value must be String array

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TableEditor()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `clearGui()`
  Clear the gui and return it to initial default values.
  `void`
  `focusGained(FocusEvent e)`
  `void`
  `focusLost(FocusEvent e)`
  `String`
  `getAsText()`
  `Component`
  `getCustomEditor()`
  `Object`
  `getValue()`
  `void`
  `setAsText(String text)`
  `void`
  `setDescriptor(PropertyDescriptor descriptor)`
  For the table editor, the CLASSNAME attribute must simply be the name of the class of object it will hold where each row holds one object.
  `void`
  `setValue(Object value)`
  `boolean`
  `supportsCustomEditor()`
  `void`
  `tableChanged(TableModelEvent e)`

  ### Methods inherited from class java.beans.PropertyEditorSupport

  `addPropertyChangeListener, firePropertyChange, getJavaInitializationString, getSource, getTags, isPaintable, paintValue, removePropertyChangeListener, setSource`

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

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

  ### Methods inherited from interface java.beans.PropertyEditor

  `addPropertyChangeListener, getJavaInitializationString, getTags, isPaintable, paintValue, removePropertyChangeListener`

- ## Field Details

  - ### CLASSNAME

    public static final String CLASSNAME
    attribute name for class name of a table row; value must be java.lang.String, or a class which supports set and get/is methods for the property name.
    See Also:
      - Constant Field Values

  - ### HEADERS

    public static final String HEADERS
    attribute name for table headers, value must be a String array. If `CLASSNAME` is java.lang.String, there must be only a single entry.
    See Also:
      - Constant Field Values

  - ### OBJECT_PROPERTIES

    public static final String OBJECT_PROPERTIES
    attribute name for property names within the `CLASSNAME`, value must be String array
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### TableEditor

    public TableEditor()

- ## Method Details

  - ### getAsText

    public String getAsText()
    Specified by:
      `getAsText` in interface `PropertyEditor`
    Overrides:
      `getAsText` in class `PropertyEditorSupport`

  - ### getCustomEditor

    public Component getCustomEditor()
    Specified by:
      `getCustomEditor` in interface `PropertyEditor`
    Overrides:
      `getCustomEditor` in class `PropertyEditorSupport`

  - ### getValue

    public Object getValue()
    Specified by:
      `getValue` in interface `PropertyEditor`
    Overrides:
      `getValue` in class `PropertyEditorSupport`

  - ### setAsText

    public void setAsText(String text) throws IllegalArgumentException
    Specified by:
      `setAsText` in interface `PropertyEditor`
    Overrides:
      `setAsText` in class `PropertyEditorSupport`
    Throws:
      `IllegalArgumentException`

  - ### setValue

    public void setValue(Object value)
    Specified by:
      `setValue` in interface `PropertyEditor`
    Overrides:
      `setValue` in class `PropertyEditorSupport`

  - ### supportsCustomEditor

    public boolean supportsCustomEditor()
    Specified by:
      `supportsCustomEditor` in interface `PropertyEditor`
    Overrides:
      `supportsCustomEditor` in class `PropertyEditorSupport`

  - ### setDescriptor

    public void setDescriptor(PropertyDescriptor descriptor)
    For the table editor, the CLASSNAME attribute must simply be the name of the class of object it will hold where each row holds one object.
    Specified by:
      `setDescriptor` in interface `TestBeanPropertyEditor`

  - ### tableChanged

    public void tableChanged(TableModelEvent e)
    Specified by:
      `tableChanged` in interface `TableModelListener`

  - ### focusGained

    public void focusGained(FocusEvent e)
    Specified by:
      `focusGained` in interface `FocusListener`

  - ### focusLost

    public void focusLost(FocusEvent e)
    Specified by:
      `focusLost` in interface `FocusListener`

  - ### clearGui

    public void clearGui()
    Description copied from interface: `ClearGui`
    Clear the gui and return it to initial default values. This is necessary because most gui classes are instantiated just once and re-used for multiple test element objects and thus they need to be cleared between uses.
    Specified by:
      `clearGui` in interface `ClearGui`