org.eclipse.viatra.dse.base

## Class DseConflictSet

- java.lang.Object
- - org.eclipse.viatra.dse.base.DseConflictSet

- All Implemented Interfaces:
    ChangeableConflictSet, ConflictSet

      public class DseConflictSet
      extends java.lang.Object
      implements ChangeableConflictSet

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DseConflictSet(ConflictResolver resolver, ConflictResolver activationOrderingConflictResolver, IStateCoder stateCoder)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `addActivation(Activation<?> activation)` This method is called by the Agenda when an activation changes state and becomes or is still enabled.
    `void` | `changeActivationOrderingConflictSet(ChangeableConflictSet newActivationOrderingConflictSet)`
    `void` | `changeActivationOrderingConflictSetBack()`
    `ActivationCodesConflictSet` | `getActivationCodesConflictSet()`
    `java.util.Set<Activation<?>>` | `getConflictingActivations()`
    `ConflictResolver` | `getConflictResolver()`
    `Activation<?>` | `getNextActivation()`
    `java.util.Set<Activation<?>>` | `getNextActivations()`
    `boolean` | `removeActivation(Activation<?> activation)` This method is called by the Agenda when an activation changes state and becomes or is still disabled.

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

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

- - ### Constructor Detail

    - #### DseConflictSet

          public DseConflictSet(ConflictResolver resolver,
                                ConflictResolver activationOrderingConflictResolver,
                                IStateCoder stateCoder)

  - ### Method Detail

    - #### getNextActivation

          public Activation<?> getNextActivation()

      Specified by:
        `getNextActivation` in interface `ConflictSet`
      Returns:
        the next activation chosen by the resolver

    - #### getNextActivations

          public java.util.Set<Activation<?>> getNextActivations()

      Specified by:
        `getNextActivations` in interface `ConflictSet`
      Returns:
        the set of activations that are considered as equal by the resolver

    - #### getConflictingActivations

          public java.util.Set<Activation<?>> getConflictingActivations()

      Specified by:
        `getConflictingActivations` in interface `ConflictSet`
      Returns:
        the set of all activations that are in conflict (all enabled activations)

    - #### getConflictResolver

          public ConflictResolver getConflictResolver()

      Specified by:
        `getConflictResolver` in interface `ConflictSet`

    - #### addActivation

          public boolean addActivation(Activation<?> activation)

      Description copied from interface: `ChangeableConflictSet`
      This method is called by the Agenda when an activation changes state and becomes or is still enabled.

      NOTE: The ChangeableConflictSet is responsible for handling that `add` may be called multiple times on an Activation already in the conflict set!
      Specified by:
        `addActivation` in interface `ChangeableConflictSet`
      Parameters:
        `activation` - the activation that should be added to the conflict set
      Returns:
        true, if the conflict set changed

    - #### removeActivation

          public boolean removeActivation(Activation<?> activation)

      Description copied from interface: `ChangeableConflictSet`
      This method is called by the Agenda when an activation changes state and becomes or is still disabled.

      NOTE: The ChangeableConflictSet is responsible for handling that `remove` may be called on Activations that are not in the conflict set!
      Specified by:
        `removeActivation` in interface `ChangeableConflictSet`
      Parameters:
        `activation` - the activation that should be removed from the conflict set
      Returns:
        true, if the conflict set changed

    - #### getActivationCodesConflictSet

          public ActivationCodesConflictSet getActivationCodesConflictSet()

    - #### changeActivationOrderingConflictSet

          public void changeActivationOrderingConflictSet(ChangeableConflictSet newActivationOrderingConflictSet)

    - #### changeActivationOrderingConflictSetBack

          public void changeActivationOrderingConflictSetBack()