org.eclipse.viatra.transformation.evm.api.event

## Interface EventFilter<EventAtom>

- All Superinterfaces:
    java.util.function.Predicate<EventAtom>
  All Known Implementing Classes:
    MatchParameterFilter, MatchParameterPredicateFilter, ViatraQueryMatchEventFilter, ViatraQueryMultiMatchEventFilter

      public interface EventFilter<EventAtom>
      extends java.util.function.Predicate<EventAtom>

  Interface for filters. Decides whether an event atom should be processed by EVM. The filters are also used as keys for rule instances, so it is important to make sure to make filters comparable using Object.equals(Object)} and Object.hashCode().

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default EventFilter<EventAtom>` | `and(java.util.function.Predicate<? super EventAtom> other)` Overridden for type safety
    `boolean` | `isProcessable(EventAtom eventAtom)`
    `default EventFilter<EventAtom>` | `negate()` Overridden for type safety
    `default EventFilter<EventAtom>` | `or(java.util.function.Predicate<? super EventAtom> other)` Overridden for type safety
    `default boolean` | `test(EventAtom eventAtom)`

    - ### Methods inherited from interface java.util.function.Predicate

      `isEqual`

- - ### Method Detail

    - #### isProcessable

          boolean isProcessable(EventAtom eventAtom)

    - #### test

          default boolean test(EventAtom eventAtom)

      Specified by:
        `test` in interface `java.util.function.Predicate<EventAtom>`
      Since:
        2.2

    - #### and

          default EventFilter<EventAtom> and(java.util.function.Predicate<? super EventAtom> other)

      Overridden for type safety
      Specified by:
        `and` in interface `java.util.function.Predicate<EventAtom>`
      Since:
        2.2

    - #### negate

          default EventFilter<EventAtom> negate()

      Overridden for type safety
      Specified by:
        `negate` in interface `java.util.function.Predicate<EventAtom>`
      Since:
        2.2

    - #### or

          default EventFilter<EventAtom> or(java.util.function.Predicate<? super EventAtom> other)

      Overridden for type safety
      Specified by:
        `or` in interface `java.util.function.Predicate<EventAtom>`
      Since:
        2.2