weka.knowledgeflow

## Interface ExecutionEnvironment

- All Known Implementing Classes:
    BaseExecutionEnvironment

      public interface ExecutionEnvironment

  Client (i.e. from the Step perspective) interface for an execution environment. Implementations of ExecutionEnvironment need to extend BaseExecutionEnvironment
  Author:
    Mark Hall (mhall{[at]}pentaho{[dot]}com)

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Defaults` | `getDefaultSettings()` Get default settings for this ExecutionEnvironment.
    `java.lang.String` | `getDescription()` Get a description of this execution environment
    `Environment` | `getEnvironmentVariables()` Get environment variables for this execution environment
    `GraphicalEnvironmentCommandHandler` | `getGraphicalEnvironmentCommandHandler()` Get the environment for performing commands at the application-level in a graphical environment.
    `Logger` | `getLog()` Get the log in use
    `LoggingLevel` | `getLoggingLevel()` Get the logging level in use
    `Settings` | `getSettings()` Get knowledge flow settings for this execution environment
    `boolean` | `isHeadless()` Get whether this execution environment is headless
    `void` | `setEnvironmentVariables(Environment env)` Set environment variables for this execution environment
    `void` | `setGraphicalEnvironmentCommandHandler(GraphicalEnvironmentCommandHandler handler)` Set the environment for performing commands at the application-level in a graphical environment.
    `void` | `setHeadless(boolean headless)` Set whether this execution environment is headless
    `void` | `setLog(Logger log)` Set the log to use
    `void` | `setLoggingLevel(LoggingLevel level)` Set the logging level to use
    `void` | `setSettings(Settings settings)` Set knowledge flow settings for this execution environment
    `void` | `stopProcessing()` Step/StepManager can use this to request a stop to all processing
    `<T> java.util.concurrent.Future<ExecutionResult<T>>` | `submitTask(StepTask<T> callable)` Submit a task to be run by the execution environment.

- - ### Method Detail

    - #### getDescription

          java.lang.String getDescription()

      Get a description of this execution environment
      Returns:
        a description of this execution environment

    - #### getDefaultSettings

          Defaults getDefaultSettings()

      Get default settings for this ExecutionEnvironment.
      Returns:
        the default settings for this execution environment, or null if there are no default settings.

    - #### setHeadless

          void setHeadless(boolean headless)

      Set whether this execution environment is headless
      Parameters:
        `headless` - true if the execution environment is headless

    - #### isHeadless

          boolean isHeadless()

      Get whether this execution environment is headless
      Returns:
        true if this execution environment is headless

    - #### setGraphicalEnvironmentCommandHandler

          void setGraphicalEnvironmentCommandHandler(GraphicalEnvironmentCommandHandler handler)

      Set the environment for performing commands at the application-level in a graphical environment.

    - #### getGraphicalEnvironmentCommandHandler

          GraphicalEnvironmentCommandHandler getGraphicalEnvironmentCommandHandler()

      Get the environment for performing commands at the application-level in a graphical environment.
      Returns:
        the graphical environment command handler, or null if running headless

    - #### setEnvironmentVariables

          void setEnvironmentVariables(Environment env)

      Set environment variables for this execution environment
      Parameters:
        `env` - the environment variables to use

    - #### getEnvironmentVariables

          Environment getEnvironmentVariables()

      Get environment variables for this execution environment
      Returns:
        the environment variables for this execution environment

    - #### setSettings

          void setSettings(Settings settings)

      Set knowledge flow settings for this execution environment
      Parameters:
        `settings` - the settings to use

    - #### getSettings

          Settings getSettings()

      Get knowledge flow settings for this execution environment
      Returns:
        the settings to use

    - #### setLog

          void setLog(Logger log)

      Set the log to use
      Parameters:
        `log` - the log to use

    - #### getLog

          Logger getLog()

      Get the log in use
      Returns:
        the log in use

    - #### setLoggingLevel

          void setLoggingLevel(LoggingLevel level)

      Set the logging level to use
      Parameters:
        `level` - the logging level to use

    - #### getLoggingLevel

          LoggingLevel getLoggingLevel()

      Get the logging level in use
      Returns:
        the logging level in use

    - #### submitTask

          <T> java.util.concurrent.Future<ExecutionResult<T>> submitTask(StepTask<T> callable)
                                                                  throws WekaException

      Submit a task to be run by the execution environment. Client steps are free to use this service or to just do their processing locally within their own code.
      Parameters:
        `callable` - the Callable encapsulating the task to be run
      Returns:
        the Future holding the status and result when complete
      Throws:
        `WekaException` - if processing fails in the case of

    - #### stopProcessing

          void stopProcessing()

      Step/StepManager can use this to request a stop to all processing