# Class LocalOperationExecutor

java.lang.Object
org.apfloat.samples.LocalOperationExecutor

All Implemented Interfaces:
  `OperationExecutor`

public class LocalOperationExecutor extends Object implements OperationExecutor
Class to execute `Operation`s locally. The execution is done in the current JVM.

Version:
  1.9.0
Author:
  Mikko Tommila

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LocalOperationExecutor()`
  Default constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `<T> T`
  `execute(Operation<T> operation)`
  Execute an operation immediately.
  `<T> BackgroundOperation<T>`
  `executeBackground(Operation<T> operation)`
  Execute an operation in the background.
  `int`
  `getWeight()`
  Returns the relative weight of this executor.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### LocalOperationExecutor

    public LocalOperationExecutor()
    Default constructor.

- ## Method Details

  - ### execute

    public <T> T execute(Operation<T> operation)
    Execute an operation immediately. This method will block until the operation is complete.
    Specified by:
      `execute` in interface `OperationExecutor`
    Type Parameters:
      `T` - Return value type of the operation.
    Parameters:
      `operation` - The operation to execute.
    Returns:
      The result of the operation.

  - ### executeBackground

    public <T> BackgroundOperation<T> executeBackground(Operation<T> operation)
    Execute an operation in the background. This method starts a new thread executing the operation and returns immediately.
    Specified by:
      `executeBackground` in interface `OperationExecutor`
    Type Parameters:
      `T` - Return value type of the operation.
    Parameters:
      `operation` - The operation to execute in the background.
    Returns:
      A `BackgroundOperation` for retrieving the result of the operation later.

  - ### getWeight

    public int getWeight()
    Description copied from interface: `OperationExecutor`
    Returns the relative weight of this executor. The weights of different operation executors can be used to distribute work more equally.
    Specified by:
      `getWeight` in interface `OperationExecutor`
    Returns:
      The relative weight of this operation executor.