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

## Class AdaptableEVM

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

-     public class AdaptableEVM
      extends java.lang.Object

  Class that is responsible for containing `IEVMAdapter` and `IEVMListener` objects, as well as dispatching the events they are subscribed to. It also contains static methods for creating an adaptable `RuleEngine` and `ExecutionSchema` objects as well.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AdaptableEVM(java.lang.String id)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `activationChanged(Activation<?> activation, ActivationState oldState, EventType event)`
    `void` | `activationCreated(Activation<?> activation, ActivationState inactiveState)`
    `void` | `activationRemoved(Activation<?> activation, ActivationState oldState)`
    `void` | `addAdapter(IEVMAdapter adapter)`
    `void` | `addAdapters(java.util.List<IEVMAdapter> adapters)`
    `void` | `addConfiguration(IAdapterConfiguration adapterConfiguration)`
    `void` | `addedRule(RuleSpecification<?> specification, EventFilter<?> filter)`
    `void` | `addListener(IEVMListener adapter)`
    `void` | `addListeners(java.util.List<IEVMListener> adapters)`
    `void` | `afterFiring(Activation<?> activation)`
    `void` | `beforeFiring(Activation<?> activation)`
    `ExecutionSchema` | `createAdaptableExecutionSchema(ViatraQueryEngine queryEngine, Scheduler.ISchedulerFactory schedulerFactory, ConflictResolver conflictResolver)` Creates a new adaptable `ExecutionSchema` based on the input parameters.
    `RuleEngine` | `createAdaptableRuleEngine(ViatraQueryEngine queryEngine)` Creates a new adaptable `RuleEngine` based on the input `ViatraQueryEngine`
    `void` | `dispose()`
    `void` | `endTransaction(java.lang.String transactionID)`
    `java.util.List<IEVMAdapter>` | `getAdapters()`
    `ChangeableConflictSet` | `getConflictSet(ChangeableConflictSet set)`
    `java.util.Iterator<Activation<?>>` | `getExecutableActivations(java.util.Iterator<Activation<?>> iterator)`
    `java.lang.String` | `getIdentifier()`
    `java.util.List<IEVMListener>` | `getListeners()`
    `void` | `initialize(ViatraQueryEngine engine)`
    `void` | `removedRule(RuleSpecification<?> specification, EventFilter<?> filter)`
    `void` | `startTransaction(java.lang.String transactionID)`

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

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

- - ### Constructor Detail

    - #### AdaptableEVM

          protected AdaptableEVM(java.lang.String id)

  - ### Method Detail

    - #### getIdentifier

          public java.lang.String getIdentifier()

    - #### getAdapters

          public java.util.List<IEVMAdapter> getAdapters()

    - #### getListeners

          public java.util.List<IEVMListener> getListeners()

    - #### addAdapter

          public void addAdapter(IEVMAdapter adapter)

    - #### addAdapters

          public void addAdapters(java.util.List<IEVMAdapter> adapters)

    - #### addListener

          public void addListener(IEVMListener adapter)

    - #### addListeners

          public void addListeners(java.util.List<IEVMListener> adapters)

    - #### addConfiguration

          public void addConfiguration(IAdapterConfiguration adapterConfiguration)

    - #### initialize

          public void initialize(ViatraQueryEngine engine)

    - #### beforeFiring

          public void beforeFiring(Activation<?> activation)

    - #### afterFiring

          public void afterFiring(Activation<?> activation)

    - #### startTransaction

          public void startTransaction(java.lang.String transactionID)

    - #### endTransaction

          public void endTransaction(java.lang.String transactionID)

    - #### addedRule

          public void addedRule(RuleSpecification<?> specification,
                                EventFilter<?> filter)

    - #### removedRule

          public void removedRule(RuleSpecification<?> specification,
                                  EventFilter<?> filter)

    - #### dispose

          public void dispose()

    - #### activationChanged

          public void activationChanged(Activation<?> activation,
                                        ActivationState oldState,
                                        EventType event)

    - #### activationCreated

          public void activationCreated(Activation<?> activation,
                                        ActivationState inactiveState)

    - #### activationRemoved

          public void activationRemoved(Activation<?> activation,
                                        ActivationState oldState)

    - #### getExecutableActivations

          public java.util.Iterator<Activation<?>> getExecutableActivations(java.util.Iterator<Activation<?>> iterator)

    - #### getConflictSet

          public ChangeableConflictSet getConflictSet(ChangeableConflictSet set)

    - #### createAdaptableExecutionSchema

          public ExecutionSchema createAdaptableExecutionSchema(ViatraQueryEngine queryEngine,
                                                                Scheduler.ISchedulerFactory schedulerFactory,
                                                                ConflictResolver conflictResolver)

      Creates a new adaptable `ExecutionSchema` based on the input parameters.

    - #### createAdaptableRuleEngine

          public RuleEngine createAdaptableRuleEngine(ViatraQueryEngine queryEngine)

      Creates a new adaptable `RuleEngine` based on the input `ViatraQueryEngine`