Package weka.gui.beans

# Class FlowByExpression

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

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

@KFStep(category="Flow", toolTipText="Route instances according to a boolean expression") public class FlowByExpression extends JPanel implements BeanCommon, Visible, Serializable, InstanceListener, TrainingSetListener, TestSetListener, DataSourceListener, EventConstraints, EnvironmentHandler, DataSource, StructureProducer
A bean that splits incoming instances (or instance streams) according to the evaluation of a logical expression. The expression can test the values of one or more incoming attributes. The test can involve constants or comparing one attribute's values to another. Inequalities along with string operations such as contains, starts-with, ends-with and regular expressions may be used as operators.

Version:
  $Revision: 14912 $
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
  `FlowByExpression()`
  Constructor

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `acceptDataSet(DataSetEvent e)`
  `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
  `void`
  `addDataSourceListener(DataSourceListener dsl)`
  Add a data source 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 recieving 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.
  `Instances`
  `getConnectedFormat()`
  Returns the structure of the incoming instances (if any)
  `String`
  `getCustomName()`
  Get the custom (descriptive) name for this bean (if one has been set)
  `String`
  `getExpressionString()`
  Get the current expression (in internal format)
  `String`
  `getFalseStepName()`
  Get the name of the connected step to send "false" instances to
  `Instances`
  `getStructure(String eventName)`
  Get the structure of the output encapsulated in the named event.
  `String`
  `getTrueStepName()`
  Get the name of the connected step to send "true" instances to
  `BeanVisual`
  `getVisual()`
  Get the visual representation
  `String`
  `globalInfo()`
  `boolean`
  `isBusy()`
  Returns true if.
  `void`
  `removeDataSourceListener(DataSourceListener dsl)`
  Remove a data source listener
  `void`
  `removeInstanceListener(InstanceListener dsl)`
  Remove an instance listener
  `void`
  `setCustomName(String name)`
  Set a custom (descriptive) name for this bean
  `void`
  `setEnvironment(Environment env)`
  Set environment variables to use.
  `void`
  `setExpressionString(String expressionString)`
  Set the expression (in internal format)
  `void`
  `setFalseStepName(String falseStep)`
  Set the name of the connected step to send "false" instances to
  `void`
  `setLog(Logger logger)`
  Set a logger
  `void`
  `setTrueStepName(String trueStep)`
  Set the name of the connected step to send "true" instances to
  `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

  - ### FlowByExpression

    public FlowByExpression()
    Constructor

- ## Method Details

  - ### globalInfo

    public String globalInfo()

  - ### setExpressionString

    public void setExpressionString(String expressionString)
    Set the expression (in internal format)
    Parameters:
      `expressionString` - the expression to use (in internal format)

  - ### getExpressionString

    public String getExpressionString()
    Get the current expression (in internal format)
    Returns:
      the current expression (in internal format)

  - ### setTrueStepName

    public void setTrueStepName(String trueStep)
    Set the name of the connected step to send "true" instances to
    Parameters:
      `trueStep` - the name of the step to send "true" instances to

  - ### getTrueStepName

    public String getTrueStepName()
    Get the name of the connected step to send "true" instances to
    Returns:
      the name of the step to send "true" instances to

  - ### setFalseStepName

    public void setFalseStepName(String falseStep)
    Set the name of the connected step to send "false" instances to
    Parameters:
      `falseStep` - the name of the step to send "false" instances to

  - ### getFalseStepName

    public String getFalseStepName()
    Get the name of the connected step to send "false" instances to
    Returns:
      the name of the step to send "false" instances to

  - ### addDataSourceListener

    public void addDataSourceListener(DataSourceListener dsl)
    Description copied from interface: `DataSource`
    Add a data source listener
    Specified by:
      `addDataSourceListener` in interface `DataSource`
    Parameters:
      `dsl` - a `DataSourceListener` value

  - ### removeDataSourceListener

    public void removeDataSourceListener(DataSourceListener dsl)
    Description copied from interface: `DataSource`
    Remove a data source listener
    Specified by:
      `removeDataSourceListener` in interface `DataSource`
    Parameters:
      `dsl` - a `DataSourceListener` value

  - ### addInstanceListener

    public void addInstanceListener(InstanceListener dsl)
    Description copied from interface: `DataSource`
    Add an instance listener
    Specified by:
      `addInstanceListener` in interface `DataSource`
    Parameters:
      `dsl` - an `InstanceListener` value

  - ### removeInstanceListener

    public void removeInstanceListener(InstanceListener dsl)
    Description copied from interface: `DataSource`
    Remove an instance listener
    Specified by:
      `removeInstanceListener` in interface `DataSource`
    Parameters:
      `dsl` - an `InstanceListener` value

  - ### setEnvironment

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

  - ### eventGeneratable

    public boolean eventGeneratable(String eventName)
    Description copied from interface: `EventConstraints`
    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

  - ### acceptDataSet

    public void acceptDataSet(DataSetEvent e)
    Specified by:
      `acceptDataSet` in interface `DataSourceListener`

  - ### acceptTestSet

    public void acceptTestSet(TestSetEvent e)
    Description copied from interface: `TestSetListener`
    Accept and process a test set event
    Specified by:
      `acceptTestSet` in interface `TestSetListener`
    Parameters:
      `e` - a `TestSetEvent` value

  - ### acceptTrainingSet

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

  - ### acceptInstance

    public void acceptInstance(InstanceEvent e)
    Description copied from interface: `InstanceListener`
    Accept and process an instance event
    Specified by:
      `acceptInstance` in interface `InstanceListener`
    Parameters:
      `e` - an `InstanceEvent` value

  - ### useDefaultVisual

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

  - ### setVisual

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

  - ### getVisual

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

  - ### setCustomName

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

  - ### getCustomName

    public String getCustomName()
    Description copied from interface: `BeanCommon`
    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()
    Description copied from interface: `BeanCommon`
    Stop any processing that the bean might be doing.
    Specified by:
      `stop` in interface `BeanCommon`

  - ### isBusy

    public boolean isBusy()
    Description copied from interface: `BeanCommon`
    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)
    Description copied from interface: `BeanCommon`
    Set a logger
    Specified by:
      `setLog` in interface `BeanCommon`
    Parameters:
      `logger` - a `weka.gui.Logger` value

  - ### connectionAllowed

    public boolean connectionAllowed(EventSetDescriptor esd)
    Description copied from interface: `BeanCommon`
    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)
    Description copied from interface: `BeanCommon`
    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)
    Description copied from interface: `BeanCommon`
    Notify this object that it has been registered as a listener with a source for recieving 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)
    Description copied from interface: `BeanCommon`
    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

  - ### getStructure

    public Instances getStructure(String eventName)
    Get the structure of the output encapsulated in the named event. If the structure can't be determined in advance of seeing input, or this StructureProducer does not generate the named event, null should be returned.
    Specified by:
      `getStructure` in interface `StructureProducer`
    Parameters:
      `eventName` - the name of the output event that encapsulates the requested output.
    Returns:
      the structure of the output encapsulated in the named event or null if it can't be determined in advance of seeing input or the named event is not generated by this StructureProducer.

  - ### getConnectedFormat

    public Instances getConnectedFormat()
    Returns the structure of the incoming instances (if any)
    Returns:
      an `Instances` value