Package weka.knowledgeflow.steps

# Class TextViewer

java.lang.Object
weka.knowledgeflow.steps.BaseStep
weka.knowledgeflow.steps.TextViewer

All Implemented Interfaces:
  `Serializable`, `BaseStepExtender`, `DataCollector`, `Step`

@KFStep(name="TextViewer", category="Visualization", toolTipText="View textual output", iconPath="weka/gui/knowledgeflow/icons/DefaultText.gif") public class TextViewer extends BaseStep implements DataCollector
A step for collecting and viewing textual data

Version:
  $Revision: $
Author:
  Mark Hall (mhall{[at]}pentaho{[dot]}com)
See Also:
  - Serialized Form

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static interface`
  `TextViewer.TextNotificationListener`
  Interface for listeners of textual results

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TextViewer()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<String>`
  `getIncomingConnectionTypes()`
  Get a list of incoming connection types that this step can accept.
  `Map<String,String>`
  `getInteractiveViewers()`
  When running in a graphical execution environment a step can make one or more popup Viewer components available.
  `List<String>`
  `getOutgoingConnectionTypes()`
  Get a list of outgoing connection types that this step can produce.
  `Map<String,String>`
  `getResults()`
  Get the textual results stored in this step
  `void`
  `processIncoming(Data data)`
  Process an incoming data payload (if the step accepts incoming connections)
  `void`
  `removeTextNotificationListener(TextViewer.TextNotificationListener l)`
  Remove the listener for textual results
  `void`
  `restoreData(Object data)`
  Restore/set the data in this step
  `Object`
  `retrieveData()`
  Get the results stored in this step.
  `void`
  `setTextNotificationListener(TextViewer.TextNotificationListener l)`
  Set the listener to be notified about new textual results
  `void`
  `stepInit()`
  Initialize the step

  ### Methods inherited from class weka.knowledgeflow.steps.BaseStep

  `environmentSubstitute, getCustomEditorForStep, getDefaultSettings, getInteractiveViewersImpls, getName, getStepManager, globalInfo, isResourceIntensive, isStopRequested, outputStructureForConnectionType, outputStructureForConnectionType, setName, setStepIsResourceIntensive, setStepManager, setStepMustRunSingleThreaded, start, stepMustRunSingleThreaded, stop`

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

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

- ## Constructor Details

  - ### TextViewer

    public TextViewer()

- ## Method Details

  - ### stepInit

    public void stepInit()
    Initialize the step
    Specified by:
      `stepInit` in interface `BaseStepExtender`
    Specified by:
      `stepInit` in interface `Step`

  - ### getIncomingConnectionTypes

    public List<String> getIncomingConnectionTypes()
    Get a list of incoming connection types that this step can accept. Ideally (and if appropriate), this should take into account the state of the step and any existing incoming connections. E.g. a step might be able to accept one (and only one) incoming batch data connection.
    Specified by:
      `getIncomingConnectionTypes` in interface `BaseStepExtender`
    Specified by:
      `getIncomingConnectionTypes` in interface `Step`
    Returns:
      a list of incoming connections that this step can accept given its current state

  - ### getOutgoingConnectionTypes

    public List<String> getOutgoingConnectionTypes()
    Get a list of outgoing connection types that this step can produce. Ideally (and if appropriate), this should take into account the state of the step and the incoming connections. E.g. depending on what incoming connection is present, a step might be able to produce a trainingSet output, a testSet output or neither, but not both.
    Specified by:
      `getOutgoingConnectionTypes` in interface `BaseStepExtender`
    Specified by:
      `getOutgoingConnectionTypes` in interface `Step`
    Returns:
      a list of outgoing connections that this step can produce

  - ### processIncoming

    public void processIncoming(Data data) throws WekaException
    Process an incoming data payload (if the step accepts incoming connections)
    Specified by:
      `processIncoming` in interface `BaseStepExtender`
    Specified by:
      `processIncoming` in interface `Step`
    Overrides:
      `processIncoming` in class `BaseStep`
    Parameters:
      `data` - the data to process
    Throws:
      `WekaException` - if a problem occurs

  - ### getInteractiveViewers

    public Map<String,String> getInteractiveViewers()
    When running in a graphical execution environment a step can make one or more popup Viewer components available. These might be used to display results, graphics etc. Returning null indicates that the step has no such additional graphical views. The map returned by this method should be keyed by action name (e.g. "View results"), and values should be fully qualified names of the corresponding StepInteractiveView implementation. Furthermore, the contents of this map can (and should) be dependent on whether a particular viewer should be made available - i.e. if execution hasn't occurred yet, or if a particular incoming connection type is not present, then it might not be possible to view certain results. Viewers can implement StepInteractiveView directly (in which case they need to extends JPanel), or extends the AbstractInteractiveViewer class. The later extends JPanel, uses a BorderLayout, provides a "Close" button and a method to add additional buttons.
    Specified by:
      `getInteractiveViewers` in interface `Step`
    Overrides:
      `getInteractiveViewers` in class `BaseStep`
    Returns:
      a map of viewer component names, or null if this step has no graphical views

  - ### getResults

    public Map<String,String> getResults()
    Get the textual results stored in this step
    Returns:
      a map of results

  - ### retrieveData

    public Object retrieveData()
    Get the results stored in this step. Calls `getResults()`
    Specified by:
      `retrieveData` in interface `DataCollector`
    Returns:
      the results (a map of named textual results) as an Object

  - ### restoreData

    public void restoreData(Object data)
    Restore/set the data in this step
    Specified by:
      `restoreData` in interface `DataCollector`
    Parameters:
      `data` - the data to set (is expected to be a map of Strings)

  - ### setTextNotificationListener

    public void setTextNotificationListener(TextViewer.TextNotificationListener l)
    Set the listener to be notified about new textual results
    Parameters:
      `l` - the listener to receive notifications

  - ### removeTextNotificationListener

    public void removeTextNotificationListener(TextViewer.TextNotificationListener l)
    Remove the listener for textual results
    Parameters:
      `l` - the listener to remove