Package weka.gui

# Class GenericArrayEditor

java.lang.Object
weka.gui.GenericArrayEditor

All Implemented Interfaces:
  `PropertyEditor`

public class GenericArrayEditor extends Object implements PropertyEditor
A PropertyEditor for arrays of objects that themselves have property editors.

Version:
  $Revision: 14497 $
Author:
  Len Trigg (trigg@cs.waikato.ac.nz)

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GenericArrayEditor()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addPropertyChangeListener(PropertyChangeListener l)`
  Adds a PropertyChangeListener who will be notified of value changes.
  `String`
  `getAsText()`
  Returns null as we don't support getting/setting values as text.
  `Component`
  `getCustomEditor()`
  Returns the array editing component.
  `String`
  `getJavaInitializationString()`
  Supposedly returns an initialization string to create a classifier identical to the current one, including it's state, but this doesn't appear possible given that the initialization string isn't supposed to contain multiple statements.
  `String[]`
  `getTags()`
  Returns null as we don't support getting values as tags.
  `Object`
  `getValue()`
  Gets the current object array.
  `boolean`
  `isPaintable()`
  Returns true to indicate that we can paint a representation of the string array.
  `static void`
  `main(String[] args)`
  Tests out the array editor from the command line.
  `static Object`
  `makeCopy(Object source)`
  Makes a copy of an object using serialization.
  `void`
  `paintValue(Graphics gfx, Rectangle box)`
  Paints a representation of the current classifier.
  `void`
  `removePropertyChangeListener(PropertyChangeListener l)`
  Removes a PropertyChangeListener.
  `void`
  `setAsText(String text)`
  Returns null as we don't support getting/setting values as text.
  `void`
  `setValue(Object o)`
  Sets the current object array.
  `boolean`
  `supportsCustomEditor()`
  Returns true because we do support a custom editor.

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

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

- ## Constructor Details

  - ### GenericArrayEditor

    public GenericArrayEditor()

- ## Method Details

  - ### setValue

    public void setValue(Object o)
    Sets the current object array.
    Specified by:
      `setValue` in interface `PropertyEditor`
    Parameters:
      `o` - an object that must be an array.

  - ### getValue

    public Object getValue()
    Gets the current object array.
    Specified by:
      `getValue` in interface `PropertyEditor`
    Returns:
      the current object array

  - ### getJavaInitializationString

    public String getJavaInitializationString()
    Supposedly returns an initialization string to create a classifier identical to the current one, including it's state, but this doesn't appear possible given that the initialization string isn't supposed to contain multiple statements.
    Specified by:
      `getJavaInitializationString` in interface `PropertyEditor`
    Returns:
      the java source code initialisation string

  - ### isPaintable

    public boolean isPaintable()
    Returns true to indicate that we can paint a representation of the string array.
    Specified by:
      `isPaintable` in interface `PropertyEditor`
    Returns:
      true

  - ### paintValue

    public void paintValue(Graphics gfx, Rectangle box)
    Paints a representation of the current classifier.
    Specified by:
      `paintValue` in interface `PropertyEditor`
    Parameters:
      `gfx` - the graphics context to use
      `box` - the area we are allowed to paint into

  - ### getAsText

    public String getAsText()
    Returns null as we don't support getting/setting values as text.
    Specified by:
      `getAsText` in interface `PropertyEditor`
    Returns:
      null

  - ### setAsText

    public void setAsText(String text)
    Returns null as we don't support getting/setting values as text.
    Specified by:
      `setAsText` in interface `PropertyEditor`
    Parameters:
      `text` - the text value
    Throws:
      `IllegalArgumentException` - as we don't support getting/setting values as text.

  - ### getTags

    public String[] getTags()
    Returns null as we don't support getting values as tags.
    Specified by:
      `getTags` in interface `PropertyEditor`
    Returns:
      null

  - ### supportsCustomEditor

    public boolean supportsCustomEditor()
    Returns true because we do support a custom editor.
    Specified by:
      `supportsCustomEditor` in interface `PropertyEditor`
    Returns:
      true

  - ### getCustomEditor

    public Component getCustomEditor()
    Returns the array editing component.
    Specified by:
      `getCustomEditor` in interface `PropertyEditor`
    Returns:
      a value of type 'java.awt.Component'

  - ### addPropertyChangeListener

    public void addPropertyChangeListener(PropertyChangeListener l)
    Adds a PropertyChangeListener who will be notified of value changes.
    Specified by:
      `addPropertyChangeListener` in interface `PropertyEditor`
    Parameters:
      `l` - a value of type 'PropertyChangeListener'

  - ### removePropertyChangeListener

    public void removePropertyChangeListener(PropertyChangeListener l)
    Removes a PropertyChangeListener.
    Specified by:
      `removePropertyChangeListener` in interface `PropertyEditor`
    Parameters:
      `l` - a value of type 'PropertyChangeListener'

  - ### makeCopy

    public static Object makeCopy(Object source)
    Makes a copy of an object using serialization.
    Parameters:
      `source` - the object to copy
    Returns:
      a copy of the source object, null if copying fails

  - ### main

    public static void main(String[] args)
    Tests out the array editor from the command line.
    Parameters:
      `args` - ignored