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
`static 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 String` `HEADERS` attribute name for table headers, value must be a String array.
`static String` `OBJECT_PROPERTIES` attribute name for property names within the `CLASSNAME`, value must be String array

### Constructor Summary

Constructors
Constructor and Description
`TableEditor()`

### Method Summary

All Methods Instance Methods Concrete Methods
`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 Detail

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

#### TableEditor

    public TableEditor()

### Method Detail

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