org.eclipse.viatra.transformation.evm.api.adapter

## Class AdaptableExecutor

- java.lang.Object
- - org.eclipse.viatra.transformation.evm.api.adapter.AdaptableExecutor

- All Implemented Interfaces:
    IExecutor

      public class AdaptableExecutor
      extends java.lang.Object
      implements IExecutor

  `IExecutor` implementation that uses the `AdaptableEVM` to add external functions to certain points of an EVM based program.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AdaptableExecutor(IExecutor delegatedExecutor, AdaptableEVM evm)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `endExecution(java.lang.String transactionID)` Signals the end of the execution,It receives the transaction ID as a parameter
    `void` | `execute(java.util.Iterator<Activation<?>> activations)` executes a given set of EVM `Activation`.
    `Context` | `getContext()` Returns the `Context` of the executor.
    `void` | `startExecution(java.lang.String transactionID)` Signals the beginning of the execution,It receives the transaction ID as a parameter

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

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

- - ### Constructor Detail

    - #### AdaptableExecutor

          public AdaptableExecutor(IExecutor delegatedExecutor,
                                   AdaptableEVM evm)

  - ### Method Detail

    - #### startExecution

          public void startExecution(java.lang.String transactionID)

      Description copied from interface: `IExecutor`
      Signals the beginning of the execution,It receives the transaction ID as a parameter
      Specified by:
        `startExecution` in interface `IExecutor`

    - #### execute

          public void execute(java.util.Iterator<Activation<?>> activations)

      Description copied from interface: `IExecutor`
      executes a given set of EVM `Activation`. Make sure that if this method is used, the call is enclosed by `startExecution` and `endExecution` calls.
      Specified by:
        `execute` in interface `IExecutor`
      Parameters:
        `activations` - `Iterator` that enables the executor to access the Activations to be executed.

    - #### endExecution

          public void endExecution(java.lang.String transactionID)

      Description copied from interface: `IExecutor`
      Signals the end of the execution,It receives the transaction ID as a parameter
      Specified by:
        `endExecution` in interface `IExecutor`

    - #### getContext

          public Context getContext()

      Description copied from interface: `IExecutor`
      Returns the `Context` of the executor. The return value should never be null.
      Specified by:
        `getContext` in interface `IExecutor`