Package weka.gui.beans

# Class SubstringLabeler

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

All Implemented Interfaces:
  `ImageObserver`, `MenuContainer`, `Serializable`, `EventListener`, `Accessible`, `EnvironmentHandler`, `BeanCommon`, `DataSource`, `DataSourceListener`, `EventConstraints`, `InstanceListener`, `TestSetListener`, `TrainingSetListener`, `Visible`

@KFStep(category="Tools", toolTipText="Label instances according to substring matches in String attributes") public class SubstringLabeler extends JPanel implements BeanCommon, Visible, Serializable, InstanceListener, TrainingSetListener, TestSetListener, DataSourceListener, EventConstraints, EnvironmentHandler, DataSource
A bean that finds matches in string attribute values (using either substring or regular expression matches) and labels the instance (sets the value of a new attribute) according to the supplied label for the matching rule. The new label attribute can be either multivalued nominal (if each match rule specified has an explicit label associated with it) or, binary numeric/nominal to indicate that one of the match rules has matched or not matched.

Version:
  $Revision: 11956 $
Author:
  Mark Hall (mhall{[at]}pentaho{[dot]}com)
See Also:
  - 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 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
  `SubstringLabeler()`
  Constructor

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `acceptDataSet(DataSetEvent e)`
  Accept and process a data set event
  `void`
  `acceptInstance(InstanceEvent e)`
  Accept and process an instance event
  `void`
  `acceptTestSet(TestSetEvent e)`
  Accept and process a test set event
  `void`
  `acceptTrainingSet(TrainingSetEvent e)`
  Accept and process a training set event
  `void`
  `addDataSourceListener(DataSourceListener dsl)`
  Add a datasource listener
  `void`
  `addInstanceListener(InstanceListener dsl)`
  Add an instance listener
  `boolean`
  `connectionAllowed(EventSetDescriptor esd)`
  Returns true if, at this time, the object will accept a connection via the named event
  `boolean`
  `connectionAllowed(String eventName)`
  Returns true if, at this time, the object will accept a connection via the named event
  `void`
  `connectionNotification(String eventName, Object source)`
  Notify this object that it has been registered as a listener with a source for receiving events described by the named event This object is responsible for recording this fact.
  `void`
  `disconnectionNotification(String eventName, Object source)`
  Notify this object that it has been deregistered as a listener with a source for named event.
  `boolean`
  `eventGeneratable(String eventName)`
  Returns true if, at the current time, the named event could be generated.
  `boolean`
  `getConsumeNonMatching()`
  Get whether instances that do not match any of the rules should be "consumed" rather than output with a missing value set for the new attribute.
  `String`
  `getCustomName()`
  Get the custom (descriptive) name for this bean (if one has been set)
  `String`
  `getMatchAttributeName()`
  `String`
  `getMatchDetails()`
  Get the internally encoded list of match rules
  `boolean`
  `getNominalBinary()`
  Get whether the new attribute created should be a nominal binary attribute rather than a numeric binary attribute.
  `BeanVisual`
  `getVisual()`
  Get the visual representation
  `String`
  `globalInfo()`
  Help information suitable for displaying in the GUI.
  `boolean`
  `isBusy()`
  Returns true if.
  `void`
  `removeDataSourceListener(DataSourceListener dsl)`
  Remove a datasource listener
  `void`
  `removeInstanceListener(InstanceListener dsl)`
  Remove an instance listener
  `void`
  `setConsumeNonMatching(boolean consume)`
  Set whether instances that do not match any of the rules should be "consumed" rather than output with a missing value set for the new attribute.
  `void`
  `setCustomName(String name)`
  Set a custom (descriptive) name for this bean
  `void`
  `setEnvironment(Environment env)`
  Set environment variables to use
  `void`
  `setLog(Logger logger)`
  Set a logger
  `void`
  `setMatchAttributeName(String name)`
  `void`
  `setMatchDetails(String details)`
  Set internally encoded list of match rules
  `void`
  `setNominalBinary(boolean nom)`
  Set whether the new attribute created should be a nominal binary attribute rather than a numeric binary attribute.
  `void`
  `setVisual(BeanVisual newVisual)`
  Set a new visual representation
  `void`
  `stop()`
  Stop any processing that the bean might be doing.
  `void`
  `useDefaultVisual()`
  Use the default visual representation

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

- ## Constructor Details

  - ### SubstringLabeler

    public SubstringLabeler()
    Constructor

- ## Method Details

  - ### globalInfo

    public String globalInfo()
    Help information suitable for displaying in the GUI.
    Returns:
      a description of this component

  - ### setMatchDetails

    public void setMatchDetails(String details)
    Set internally encoded list of match rules
    Parameters:
      `details` - the list of match rules

  - ### getMatchDetails

    public String getMatchDetails()
    Get the internally encoded list of match rules
    Returns:
      the match rules

  - ### setNominalBinary

    public void setNominalBinary(boolean nom)
    Set whether the new attribute created should be a nominal binary attribute rather than a numeric binary attribute.
    Parameters:
      `nom` - true if the attribute should be a nominal binary one

  - ### getNominalBinary

    public boolean getNominalBinary()
    Get whether the new attribute created should be a nominal binary attribute rather than a numeric binary attribute.
    Returns:
      true if the attribute should be a nominal binary one

  - ### setConsumeNonMatching

    public void setConsumeNonMatching(boolean consume)
    Set whether instances that do not match any of the rules should be "consumed" rather than output with a missing value set for the new attribute.
    Parameters:
      `consume` - true if non matching instances should be consumed by the component.

  - ### getConsumeNonMatching

    public boolean getConsumeNonMatching()
    Get whether instances that do not match any of the rules should be "consumed" rather than output with a missing value set for the new attribute.
    Returns:
      true if non matching instances should be consumed by the component.

  - ### setMatchAttributeName

    public void setMatchAttributeName(String name)

  - ### getMatchAttributeName

    public String getMatchAttributeName()

  - ### addDataSourceListener

    public void addDataSourceListener(DataSourceListener dsl)
    Add a datasource listener
    Specified by:
      `addDataSourceListener` in interface `DataSource`
    Parameters:
      `dsl` - the datasource listener to add

  - ### removeDataSourceListener

    public void removeDataSourceListener(DataSourceListener dsl)
    Remove a datasource listener
    Specified by:
      `removeDataSourceListener` in interface `DataSource`
    Parameters:
      `dsl` - the datasource listener to remove

  - ### addInstanceListener

    public void addInstanceListener(InstanceListener dsl)
    Add an instance listener
    Specified by:
      `addInstanceListener` in interface `DataSource`
    Parameters:
      `dsl` - the instance listener to add

  - ### removeInstanceListener

    public void removeInstanceListener(InstanceListener dsl)
    Remove an instance listener
    Specified by:
      `removeInstanceListener` in interface `DataSource`
    Parameters:
      `dsl` - the instance listener to remove

  - ### setEnvironment

    public void setEnvironment(Environment env)
    Set environment variables to use
    Specified by:
      `setEnvironment` in interface `EnvironmentHandler`
    Parameters:
      `env` - the environment variables to use

  - ### eventGeneratable

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

  - ### useDefaultVisual

    public void useDefaultVisual()
    Use the default visual representation
    Specified by:
      `useDefaultVisual` in interface `Visible`

  - ### setVisual

    public void setVisual(BeanVisual newVisual)
    Set a new visual representation
    Specified by:
      `setVisual` in interface `Visible`
    Parameters:
      `newVisual` - a `BeanVisual` value

  - ### getVisual

    public BeanVisual getVisual()
    Get the visual representation
    Specified by:
      `getVisual` in interface `Visible`
    Returns:
      a `BeanVisual` value

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

  - ### stop

    public void stop()
    Stop any processing that the bean might be doing.
    Specified by:
      `stop` in interface `BeanCommon`

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

  - ### setLog

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

  - ### connectionAllowed

    public boolean connectionAllowed(EventSetDescriptor esd)
    Returns true if, at this time, the object will accept a connection via the named event
    Specified by:
      `connectionAllowed` in interface `BeanCommon`
    Parameters:
      `esd` - the EventSetDescriptor for the event in question
    Returns:
      true if the object will accept a connection

  - ### connectionAllowed

    public boolean connectionAllowed(String eventName)
    Returns true if, at this time, the object will accept a connection via the named event
    Specified by:
      `connectionAllowed` in interface `BeanCommon`
    Parameters:
      `eventName` - the name of the event
    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 for receiving events described by the named event This object is responsible for recording this fact.
    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 for named event. This object is responsible for recording this fact.
    Specified by:
      `disconnectionNotification` in interface `BeanCommon`
    Parameters:
      `eventName` - the event
      `source` - the source with which this object has been registered as a listener

  - ### acceptInstance

    public void acceptInstance(InstanceEvent e)
    Accept and process an instance event
    Specified by:
      `acceptInstance` in interface `InstanceListener`
    Parameters:
      `e` - the instance event to process

  - ### acceptDataSet

    public void acceptDataSet(DataSetEvent e)
    Accept and process a data set event
    Specified by:
      `acceptDataSet` in interface `DataSourceListener`
    Parameters:
      `e` - the data set event to process

  - ### acceptTestSet

    public void acceptTestSet(TestSetEvent e)
    Accept and process a test set event
    Specified by:
      `acceptTestSet` in interface `TestSetListener`
    Parameters:
      `e` - the test set event to process

  - ### acceptTrainingSet

    public void acceptTrainingSet(TrainingSetEvent e)
    Accept and process a training set event
    Specified by:
      `acceptTrainingSet` in interface `TrainingSetListener`
    Parameters:
      `e` - a `TrainingSetEvent` value