Package weka.gui.beans

# Class Classifier

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
weka.gui.beans.Classifier

All Implemented Interfaces:
  `ImageObserver`, `MenuContainer`, `Serializable`, `EventListener`, `Accessible`, `EnvironmentHandler`, `BeanCommon`, `ConfigurationProducer`, `EventConstraints`, `InstanceListener`, `TestSetListener`, `TrainingSetListener`, `UserRequestAcceptor`, `Visible`, `WekaWrapper`

public class Classifier extends JPanel implements BeanCommon, Visible, WekaWrapper, EventConstraints, Serializable, UserRequestAcceptor, TrainingSetListener, TestSetListener, InstanceListener, ConfigurationProducer, EnvironmentHandler
Bean that wraps around weka.classifiers

Since:
  1.0
Version:
  $Revision: 15231 $
Author:
  Mark Hall
See Also:
  - `JPanel`
  - `BeanCommon`
  - `Visible`
  - `WekaWrapper`
  - `Serializable`
  - `UserRequestAcceptor`
  - `TrainingSetListener`
  - `TestSetListener`
  - `EnvironmentHandler`
  - Serialized Form

- ## Nested Class Summary

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

  `JComponent.AccessibleJComponent`

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

  `Component.BaselineResizeBehavior`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `FILE_EXTENSION`
  the extension for serialized models (binary Java serialization)

  ### Fields inherited from class javax.swing.JComponent

  `TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

  ### Fields inherited from class java.awt.Component

  `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
  `Classifier()`
  Creates a new `Classifier` instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `acceptInstance(InstanceEvent e)`
  Accepts an instance for incremental processing.
  `void`
  `acceptTestSet(TestSetEvent e)`
  Accepts a test set for a batch trained classifier
  `void`
  `acceptTrainingSet(TrainingSetEvent e)`
  Accepts a training set and builds batch classifier
  `void`
  `addBatchClassifierListener(BatchClassifierListener cl)`
  Add a batch classifier listener
  `void`
  `addConfigurationListener(ConfigurationListener cl)`
  We don't have to keep track of configuration listeners (see the documentation for ConfigurationListener/ConfigurationEvent).
  `void`
  `addGraphListener(GraphListener cl)`
  Add a graph listener
  `void`
  `addIncrementalClassifierListener(IncrementalClassifierListener cl)`
  Add an incremental classifier listener
  `void`
  `addTextListener(TextListener cl)`
  Add a text listener
  `boolean`
  `connectionAllowed(EventSetDescriptor esd)`
  Returns true if, at this time, the object will accept a connection according to the supplied EventSetDescriptor
  `boolean`
  `connectionAllowed(String eventName)`
  Returns true if, at this time, the object will accept a connection with respect to the named event
  `void`
  `connectionNotification(String eventName, Object source)`
  Notify this object that it has been registered as a listener with a source with respect to the named event
  `void`
  `disconnectionNotification(String eventName, Object source)`
  Notify this object that it has been deregistered as a listener with a source with respect to the supplied event name
  `Enumeration<String>`
  `enumerateRequests()`
  Return an enumeration of requests that can be made by the user
  `boolean`
  `eventGeneratable(EventSetDescriptor esd)`
  Returns true, if at the current time, the event described by the supplied event descriptor could be generated.
  `boolean`
  `eventGeneratable(String eventName)`
  Returns true, if at the current time, the named event could be generated.
  `boolean`
  `getBlockOnLastFold()`
  Gets whether we are blocking on the last fold of the last run rather than rejecting any further data until all processing has been completed.
  `Classifier`
  `getClassifier()`
  Get the currently trained classifier.
  `Classifier`
  `getClassifierTemplate()`
  Return the classifier template currently in use.
  `String`
  `getCustomName()`
  Get the custom (descriptive) name for this bean (if one has been set)
  `int`
  `getExecutionSlots()`
  Get the number of execution slots (threads) used to train models.
  `String`
  `getLoadClassifierFileName()`
  Get the name of the classifier to load at execution time.
  `boolean`
  `getResetIncrementalClassifier()`
  Get whether to reset (by calling buildClassifier()) an incremental classifier, and thus discarding any previously learned model, before processing the first instance in the incoming stream.
  `boolean`
  `getUpdateIncrementalClassifier()`
  Get whether an incremental classifier will be updated on the incoming instance stream.
  `BeanVisual`
  `getVisual()`
  Gets the visual appearance of this wrapper bean
  `Object`
  `getWrappedAlgorithm()`
  Returns the wrapped classifier
  `String`
  `globalInfo()`
  Global info (if it exists) for the wrapped classifier
  `boolean`
  `hasIncomingBatchInstances()`
  Returns true if this classifier has an incoming connection that is a batch set of instances
  `boolean`
  `hasIncomingStreamInstances()`
  Returns true if this classifier has an incoming connection that is an instance stream
  `boolean`
  `isBusy()`
  Returns true if.
  `void`
  `loadModel()`
  `void`
  `performRequest(String request)`
  Perform a particular request
  `void`
  `removeBatchClassifierListener(BatchClassifierListener cl)`
  Remove a batch classifier listener
  `void`
  `removeConfigurationListener(ConfigurationListener cl)`
  We don't have to keep track of configuration listeners (see the documentation for ConfigurationListener/ConfigurationEvent).
  `void`
  `removeGraphListener(GraphListener cl)`
  Remove a graph listener
  `void`
  `removeIncrementalClassifierListener(IncrementalClassifierListener cl)`
  Remove an incremental classifier listener
  `void`
  `removeTextListener(TextListener cl)`
  Remove a text listener
  `void`
  `saveModel()`
  `void`
  `setBlockOnLastFold(boolean block)`
  Set whether to block on receiving the last fold of the last run rather than rejecting any further data until all processing is complete.
  `void`
  `setClassifierTemplate(Classifier c)`
  Set the template classifier for this wrapper
  `void`
  `setCustomName(String name)`
  Set a custom (descriptive) name for this bean
  `void`
  `setEnvironment(Environment env)`
  Set environment variables to pass on to the classifier (if if is an EnvironmentHandler)
  `void`
  `setExecutionSlots(int slots)`
  Set the number of execution slots (threads) to use to train models with.
  `void`
  `setLoadClassifierFileName(String filename)`
  Set the name of the classifier to load at execution time.
  `void`
  `setLog(Logger logger)`
  Set a logger
  `void`
  `setResetIncrementalClassifier(boolean reset)`
  Set whether to reset (by calling buildClassifier()) an incremental classifier, and thus discarding any previously learned model, before processing the first instance in the incoming stream.
  `void`
  `setUpdateIncrementalClassifier(boolean update)`
  Set whether an incremental classifier will be updated on the incoming instance stream.
  `void`
  `setVisual(BeanVisual newVisual)`
  Sets the visual appearance of this wrapper bean
  `void`
  `setWrappedAlgorithm(Object algorithm)`
  Sets the algorithm (classifier) for this bean
  `void`
  `stop()`
  Stop any classifier action
  `void`
  `useDefaultVisual()`
  Use the default visual appearance for this bean

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

  `getAccessibleContext, getUI, getUIClassID, setUI, updateUI`

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

  `addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, 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, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

  ### Methods inherited from class java.awt.Container

  `add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate`

  ### Methods inherited from class java.awt.Component

  `action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

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

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

- ## Field Details

  - ### FILE_EXTENSION

    public static final String FILE_EXTENSION
    the extension for serialized models (binary Java serialization)
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### Classifier

    public Classifier()
    Creates a new `Classifier` instance.

- ## Method Details

  - ### globalInfo

    public String globalInfo()
    Global info (if it exists) for the wrapped classifier
    Returns:
      the global info

  - ### setCustomName

    public void setCustomName(String name)
    Set a custom (descriptive) name for this bean
    Specified by:
      `setCustomName` in interface `BeanCommon`
    Parameters:
      `name` - the name to use

  - ### getCustomName

    public String getCustomName()
    Get the custom (descriptive) name for this bean (if one has been set)
    Specified by:
      `getCustomName` in interface `BeanCommon`
    Returns:
      the custom name (or the default name)

  - ### getExecutionSlots

    public int getExecutionSlots()
    Get the number of execution slots (threads) used to train models.
    Returns:
      the number of execution slots.

  - ### setExecutionSlots

    public void setExecutionSlots(int slots)
    Set the number of execution slots (threads) to use to train models with.
    Parameters:
      `slots` - the number of execution slots to use.

  - ### setBlockOnLastFold

    public void setBlockOnLastFold(boolean block)
    Set whether to block on receiving the last fold of the last run rather than rejecting any further data until all processing is complete.
    Parameters:
      `block` - true if we should block on the last fold of the last run.

  - ### getBlockOnLastFold

    public boolean getBlockOnLastFold()
    Gets whether we are blocking on the last fold of the last run rather than rejecting any further data until all processing has been completed.
    Returns:
      true if we are blocking on the last fold of the last run

  - ### setClassifierTemplate

    public void setClassifierTemplate(Classifier c)
    Set the template classifier for this wrapper
    Parameters:
      `c` - a `weka.classifiers.Classifier` value

  - ### getClassifierTemplate

    public Classifier getClassifierTemplate()
    Return the classifier template currently in use.
    Returns:
      the classifier template currently in use.

  - ### hasIncomingStreamInstances

    public boolean hasIncomingStreamInstances()
    Returns true if this classifier has an incoming connection that is an instance stream
    Returns:
      true if has an incoming connection that is an instance stream

  - ### hasIncomingBatchInstances

    public boolean hasIncomingBatchInstances()
    Returns true if this classifier has an incoming connection that is a batch set of instances
    Returns:
      a `boolean` value

  - ### getClassifier

    public Classifier getClassifier()
    Get the currently trained classifier.
    Returns:
      a `weka.classifiers.Classifier` value

  - ### setWrappedAlgorithm

    public void setWrappedAlgorithm(Object algorithm)
    Sets the algorithm (classifier) for this bean
    Specified by:
      `setWrappedAlgorithm` in interface `WekaWrapper`
    Parameters:
      `algorithm` - an `Object` value
    Throws:
      `IllegalArgumentException` - if an error occurs

  - ### getWrappedAlgorithm

    public Object getWrappedAlgorithm()
    Returns the wrapped classifier
    Specified by:
      `getWrappedAlgorithm` in interface `WekaWrapper`
    Returns:
      an `Object` value

  - ### setLoadClassifierFileName

    public void setLoadClassifierFileName(String filename)
    Set the name of the classifier to load at execution time. This only applies in the case where the only incoming connection is a test set connection (batch mode) or an instance connection (incremental mode).
    Parameters:
      `filename` - the name of the file to load the model from

  - ### getLoadClassifierFileName

    public String getLoadClassifierFileName()
    Get the name of the classifier to load at execution time. This only applies in the case where the only incoming connection is a test set connection (batch mode) or an instance connection (incremental mode).
    Returns:
      the name of the file to load the model from

  - ### setResetIncrementalClassifier

    public void setResetIncrementalClassifier(boolean reset)
    Set whether to reset (by calling buildClassifier()) an incremental classifier, and thus discarding any previously learned model, before processing the first instance in the incoming stream. Note that this happens automatically if the incoming instances structure does not match that of any previous structure used to train the model.
    Parameters:
      `reset` - true if the incremental classifier should be reset before processing the first instance in the incoming data stream

  - ### getResetIncrementalClassifier

    public boolean getResetIncrementalClassifier()
    Get whether to reset (by calling buildClassifier()) an incremental classifier, and thus discarding any previously learned model, before processing the first instance in the incoming stream. Note that this happens automatically if the incoming instances structure does not match that of any previous structure used to train the model.

  - ### getUpdateIncrementalClassifier

    public boolean getUpdateIncrementalClassifier()
    Get whether an incremental classifier will be updated on the incoming instance stream.
    Returns:
      true if an incremental classifier is to be updated.

  - ### setUpdateIncrementalClassifier

    public void setUpdateIncrementalClassifier(boolean update)
    Set whether an incremental classifier will be updated on the incoming instance stream.
    Parameters:
      `update` - true if an incremental classifier is to be updated.

  - ### acceptInstance

    public void acceptInstance(InstanceEvent e)
    Accepts an instance for incremental processing.
    Specified by:
      `acceptInstance` in interface `InstanceListener`
    Parameters:
      `e` - an `InstanceEvent` value

  - ### acceptTrainingSet

    public void acceptTrainingSet(TrainingSetEvent e)
    Accepts a training set and builds batch classifier
    Specified by:
      `acceptTrainingSet` in interface `TrainingSetListener`
    Parameters:
      `e` - a `TrainingSetEvent` value

  - ### acceptTestSet

    public void acceptTestSet(TestSetEvent e)
    Accepts a test set for a batch trained classifier
    Specified by:
      `acceptTestSet` in interface `TestSetListener`
    Parameters:
      `e` - a `TestSetEvent` value

  - ### setVisual

    public void setVisual(BeanVisual newVisual)
    Sets the visual appearance of this wrapper bean
    Specified by:
      `setVisual` in interface `Visible`
    Parameters:
      `newVisual` - a `BeanVisual` value

  - ### getVisual

    public BeanVisual getVisual()
    Gets the visual appearance of this wrapper bean
    Specified by:
      `getVisual` in interface `Visible`
    Returns:
      a `BeanVisual` value

  - ### useDefaultVisual

    public void useDefaultVisual()
    Use the default visual appearance for this bean
    Specified by:
      `useDefaultVisual` in interface `Visible`

  - ### addBatchClassifierListener

    public void addBatchClassifierListener(BatchClassifierListener cl)
    Add a batch classifier listener
    Parameters:
      `cl` - a `BatchClassifierListener` value

  - ### removeBatchClassifierListener

    public void removeBatchClassifierListener(BatchClassifierListener cl)
    Remove a batch classifier listener
    Parameters:
      `cl` - a `BatchClassifierListener` value

  - ### addGraphListener

    public void addGraphListener(GraphListener cl)
    Add a graph listener
    Parameters:
      `cl` - a `GraphListener` value

  - ### removeGraphListener

    public void removeGraphListener(GraphListener cl)
    Remove a graph listener
    Parameters:
      `cl` - a `GraphListener` value

  - ### addTextListener

    public void addTextListener(TextListener cl)
    Add a text listener
    Parameters:
      `cl` - a `TextListener` value

  - ### removeTextListener

    public void removeTextListener(TextListener cl)
    Remove a text listener
    Parameters:
      `cl` - a `TextListener` value

  - ### addConfigurationListener

    public void addConfigurationListener(ConfigurationListener cl)
    We don't have to keep track of configuration listeners (see the documentation for ConfigurationListener/ConfigurationEvent).
    Specified by:
      `addConfigurationListener` in interface `ConfigurationProducer`
    Parameters:
      `cl` - a ConfigurationListener.

  - ### removeConfigurationListener

    public void removeConfigurationListener(ConfigurationListener cl)
    We don't have to keep track of configuration listeners (see the documentation for ConfigurationListener/ConfigurationEvent).
    Specified by:
      `removeConfigurationListener` in interface `ConfigurationProducer`
    Parameters:
      `cl` - a ConfigurationListener.

  - ### addIncrementalClassifierListener

    public void addIncrementalClassifierListener(IncrementalClassifierListener cl)
    Add an incremental classifier listener
    Parameters:
      `cl` - an `IncrementalClassifierListener` value

  - ### removeIncrementalClassifierListener

    public void removeIncrementalClassifierListener(IncrementalClassifierListener cl)
    Remove an incremental classifier listener
    Parameters:
      `cl` - an `IncrementalClassifierListener` value

  - ### connectionAllowed

    public boolean connectionAllowed(String eventName)
    Returns true if, at this time, the object will accept a connection with respect to the named event
    Specified by:
      `connectionAllowed` in interface `BeanCommon`
    Parameters:
      `eventName` - the event
    Returns:
      true if the object will accept a connection

  - ### connectionAllowed

    public boolean connectionAllowed(EventSetDescriptor esd)
    Returns true if, at this time, the object will accept a connection according to the supplied EventSetDescriptor
    Specified by:
      `connectionAllowed` in interface `BeanCommon`
    Parameters:
      `esd` - the EventSetDescriptor
    Returns:
      true if the object will accept a connection

  - ### connectionNotification

    public void connectionNotification(String eventName, Object source)
    Notify this object that it has been registered as a listener with a source with respect to the named event
    Specified by:
      `connectionNotification` in interface `BeanCommon`
    Parameters:
      `eventName` - the event
      `source` - the source with which this object has been registered as a listener

  - ### disconnectionNotification

    public void disconnectionNotification(String eventName, Object source)
    Notify this object that it has been deregistered as a listener with a source with respect to the supplied event name
    Specified by:
      `disconnectionNotification` in interface `BeanCommon`
    Parameters:
      `eventName` - the event
      `source` - the source with which this object has been registered as a listener

  - ### stop

    public void stop()
    Stop any classifier action
    Specified by:
      `stop` in interface `BeanCommon`

  - ### loadModel

    public void loadModel()

  - ### saveModel

    public void saveModel()

  - ### setLog

    public void setLog(Logger logger)
    Set a logger
    Specified by:
      `setLog` in interface `BeanCommon`
    Parameters:
      `logger` - a `Logger` value

  - ### enumerateRequests

    public Enumeration<String> enumerateRequests()
    Return an enumeration of requests that can be made by the user
    Specified by:
      `enumerateRequests` in interface `UserRequestAcceptor`
    Returns:
      an `Enumeration` value

  - ### performRequest

    public void performRequest(String request)
    Perform a particular request
    Specified by:
      `performRequest` in interface `UserRequestAcceptor`
    Parameters:
      `request` - the request to perform
    Throws:
      `IllegalArgumentException` - if an error occurs

  - ### eventGeneratable

    public boolean eventGeneratable(EventSetDescriptor esd)
    Returns true, if at the current time, the event described by the supplied event descriptor could be generated.
    Parameters:
      `esd` - an `EventSetDescriptor` value
    Returns:
      a `boolean` value

  - ### eventGeneratable

    public boolean eventGeneratable(String eventName)
    Returns true, if at the current time, the named event could be generated. Assumes that the supplied event name is an event that could be generated by this bean
    Specified by:
      `eventGeneratable` in interface `EventConstraints`
    Parameters:
      `eventName` - the name of the event in question
    Returns:
      true if the named event could be generated at this point in time

  - ### isBusy

    public boolean isBusy()
    Returns true if. at this time, the bean is busy with some (i.e. perhaps a worker thread is performing some calculation).
    Specified by:
      `isBusy` in interface `BeanCommon`
    Returns:
      true if the bean is busy.

  - ### setEnvironment

    public void setEnvironment(Environment env)
    Set environment variables to pass on to the classifier (if if is an EnvironmentHandler)
    Specified by:
      `setEnvironment` in interface `EnvironmentHandler`
    Parameters:
      `env` - the environment variables to use