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 and Description
    --- | ---
    `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
    Modifier and Type | Method and 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 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`

Copyright © 1998-2022 Apache Software Foundation. All Rights Reserved.