Package 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

  Modifier and Type
  Method
  Description
  `Defaults`
  `getDefaultSettings()`
  Get default settings for this ExecutionEnvironment.
  `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> Future<ExecutionResult<T>>`
  `submitTask(StepTask<T> callable)`
  Submit a task to be run by the execution environment.

- ## Method Details

  - ### getDescription

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