org.eclipse.viatra.addon.viewers.runtime.model.patterns

## Class Param2edgeMatcher

- java.lang.Object
- - org.eclipse.viatra.query.runtime.internal.apiimpl.QueryResultWrapper
  - - org.eclipse.viatra.query.runtime.api.impl.BaseMatcher<Param2edgeMatch>
    - - org.eclipse.viatra.addon.viewers.runtime.model.patterns.Param2edgeMatcher

- All Implemented Interfaces:
    ViatraQueryMatcher<Param2edgeMatch>

      public class Param2edgeMatcher
      extends BaseMatcher<Param2edgeMatch>

  Generated pattern matcher API of the org.eclipse.viatra.addon.viewers.runtime.model.patterns.param2edge pattern, providing pattern-specific query methods.

  Use the pattern matcher on a given model via `on(ViatraQueryEngine)`, e.g. in conjunction with `ViatraQueryEngine#on(Notifier)`.

  Matches of the pattern will be represented as `Param2edgeMatch`.

  Original source: ``

        @QueryExplorer(checked = false)
       pattern param2edge(source, target, trace, edge : Edge) {
              Trace.params(trace, source);
              Trace.params(trace, target);
              Trace.targets(trace, edge);
       } or {
              Trace.objects(trace, source);
              Trace.params(trace, target);
              Trace.targets(trace, edge);
       } or {
              Trace.params(trace, source);
              Trace.objects(trace, target);
              Trace.targets(trace, edge);
       } or {
              Trace.objects(trace, source);
              Trace.objects(trace, target);
              Trace.targets(trace, edge);
       }

  See Also:
    `Param2edgeMatch`, `Param2edgeProcessor`, `Param2edgeQuerySpecification`

- - ### Field Summary

    - ### Fields inherited from class org.eclipse.viatra.query.runtime.api.impl.BaseMatcher

      `engine, querySpecification`

    - ### Fields inherited from class org.eclipse.viatra.query.runtime.internal.apiimpl.QueryResultWrapper

      `backend`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected Param2edgeMatch` | `arrayToMatch(java.lang.Object[] match)` Converts the array representation of a pattern match to an immutable Match object.
    `protected Param2edgeMatch` | `arrayToMatchMutable(java.lang.Object[] match)` Converts the array representation of a pattern match to a mutable Match object.
    `int` | `countMatches(java.lang.Object pSource, java.lang.Object pTarget, Trace pTrace, Edge pEdge)` Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
    `static Param2edgeMatcher` | `create()`
    `void` | `forEachMatch(java.lang.Object pSource, java.lang.Object pTarget, Trace pTrace, Edge pEdge, IMatchProcessor<? super Param2edgeMatch> processor)` Executes the given processor on each match of the pattern that conforms to the given fixed values of some parameters.
    `boolean` | `forOneArbitraryMatch(java.lang.Object pSource, java.lang.Object pTarget, Trace pTrace, Edge pEdge, IMatchProcessor<? super Param2edgeMatch> processor)` Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
    `java.util.Collection<Param2edgeMatch>` | `getAllMatches(java.lang.Object pSource, java.lang.Object pTarget, Trace pTrace, Edge pEdge)` Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
    `java.util.Set<Edge>` | `getAllValuesOfedge()` Retrieve the set of values that occur in matches for edge.
    `java.util.Set<Edge>` | `getAllValuesOfedge(java.lang.Object pSource, java.lang.Object pTarget, Trace pTrace)` Retrieve the set of values that occur in matches for edge.
    `java.util.Set<Edge>` | `getAllValuesOfedge(Param2edgeMatch partialMatch)` Retrieve the set of values that occur in matches for edge.
    `java.util.Set<java.lang.Object>` | `getAllValuesOfsource()` Retrieve the set of values that occur in matches for source.
    `java.util.Set<java.lang.Object>` | `getAllValuesOfsource(java.lang.Object pTarget, Trace pTrace, Edge pEdge)` Retrieve the set of values that occur in matches for source.
    `java.util.Set<java.lang.Object>` | `getAllValuesOfsource(Param2edgeMatch partialMatch)` Retrieve the set of values that occur in matches for source.
    `java.util.Set<java.lang.Object>` | `getAllValuesOftarget()` Retrieve the set of values that occur in matches for target.
    `java.util.Set<java.lang.Object>` | `getAllValuesOftarget(java.lang.Object pSource, Trace pTrace, Edge pEdge)` Retrieve the set of values that occur in matches for target.
    `java.util.Set<java.lang.Object>` | `getAllValuesOftarget(Param2edgeMatch partialMatch)` Retrieve the set of values that occur in matches for target.
    `java.util.Set<Trace>` | `getAllValuesOftrace()` Retrieve the set of values that occur in matches for trace.
    `java.util.Set<Trace>` | `getAllValuesOftrace(java.lang.Object pSource, java.lang.Object pTarget, Edge pEdge)` Retrieve the set of values that occur in matches for trace.
    `java.util.Set<Trace>` | `getAllValuesOftrace(Param2edgeMatch partialMatch)` Retrieve the set of values that occur in matches for trace.
    `Param2edgeMatch` | `getOneArbitraryMatch(java.lang.Object pSource, java.lang.Object pTarget, Trace pTrace, Edge pEdge)` Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
    `boolean` | `hasMatch(java.lang.Object pSource, java.lang.Object pTarget, Trace pTrace, Edge pEdge)` Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, under any possible substitution of the unspecified parameters (if any).
    `Param2edgeMatch` | `newMatch(java.lang.Object pSource, java.lang.Object pTarget, Trace pTrace, Edge pEdge)` Returns a new (partial) match.
    `static Param2edgeMatcher` | `on(ViatraQueryEngine engine)` Initializes the pattern matcher within an existing VIATRA Query engine.
    `static IQuerySpecification<Param2edgeMatcher>` | `querySpecification()`
    `protected java.util.Set<Edge>` | `rawAccumulateAllValuesOfedge(java.lang.Object[] parameters)` Retrieve the set of values that occur in matches for edge.
    `protected java.util.Set<java.lang.Object>` | `rawAccumulateAllValuesOfsource(java.lang.Object[] parameters)` Retrieve the set of values that occur in matches for source.
    `protected java.util.Set<java.lang.Object>` | `rawAccumulateAllValuesOftarget(java.lang.Object[] parameters)` Retrieve the set of values that occur in matches for target.
    `protected java.util.Set<Trace>` | `rawAccumulateAllValuesOftrace(java.lang.Object[] parameters)` Retrieve the set of values that occur in matches for trace.
    `protected Param2edgeMatch` | `tupleToMatch(Tuple t)`

    - ### Methods inherited from class org.eclipse.viatra.query.runtime.api.impl.BaseMatcher

      `countMatches, countMatches, emptyArray, forEachMatch, forEachMatch, forOneArbitraryMatch, forOneArbitraryMatch, getAllMatches, getAllMatches, getAllValues, getAllValues, getCapabilities, getEngine, getOneArbitraryMatch, getOneArbitraryMatch, getParameterNames, getPatternName, getPositionOfParameter, getSpecification, hasMatch, matchToArray, newEmptyMatch, newMatch, rawAccumulateAllValues, rawCountMatches, rawForEachMatch, rawForOneArbitraryMatch, rawGetAllMatches, rawGetAllValues, rawGetOneArbitraryMatch, rawHasMatch, setBackend`

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

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

- - ### Method Detail

    - #### on

          public static Param2edgeMatcher on(ViatraQueryEngine engine)
                                      throws ViatraQueryException

      Initializes the pattern matcher within an existing VIATRA Query engine. If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. The match set will be incrementally refreshed upon updates.
      Parameters:
        `engine` - the existing VIATRA Query engine in which this matcher will be created.
      Throws:
        `ViatraQueryException` - if an error occurs during pattern matcher creation

    - #### create

          public static Param2edgeMatcher create()
                                          throws ViatraQueryException

      Returns:
        an initialized matcher
      Throws:
        `ViatraQueryException` - if an error occurs during pattern matcher creation
      No Reference:
        This method is for internal matcher initialization by the framework, do not call it manually.

    - #### getAllMatches

          public java.util.Collection<Param2edgeMatch> getAllMatches(java.lang.Object pSource,
                                                                     java.lang.Object pTarget,
                                                                     Trace pTrace,
                                                                     Edge pEdge)

      Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
      Parameters:
        `pSource` - the fixed value of pattern parameter source, or null if not bound.
        `pTarget` - the fixed value of pattern parameter target, or null if not bound.
        `pTrace` - the fixed value of pattern parameter trace, or null if not bound.
        `pEdge` - the fixed value of pattern parameter edge, or null if not bound.
      Returns:
        matches represented as a Param2edgeMatch object.

    - #### getOneArbitraryMatch

          public Param2edgeMatch getOneArbitraryMatch(java.lang.Object pSource,
                                                      java.lang.Object pTarget,
                                                      Trace pTrace,
                                                      Edge pEdge)

      Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. Neither determinism nor randomness of selection is guaranteed.
      Parameters:
        `pSource` - the fixed value of pattern parameter source, or null if not bound.
        `pTarget` - the fixed value of pattern parameter target, or null if not bound.
        `pTrace` - the fixed value of pattern parameter trace, or null if not bound.
        `pEdge` - the fixed value of pattern parameter edge, or null if not bound.
      Returns:
        a match represented as a Param2edgeMatch object, or null if no match is found.

    - #### hasMatch

          public boolean hasMatch(java.lang.Object pSource,
                                  java.lang.Object pTarget,
                                  Trace pTrace,
                                  Edge pEdge)

      Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, under any possible substitution of the unspecified parameters (if any).
      Parameters:
        `pSource` - the fixed value of pattern parameter source, or null if not bound.
        `pTarget` - the fixed value of pattern parameter target, or null if not bound.
        `pTrace` - the fixed value of pattern parameter trace, or null if not bound.
        `pEdge` - the fixed value of pattern parameter edge, or null if not bound.
      Returns:
        true if the input is a valid (partial) match of the pattern.

    - #### countMatches

          public int countMatches(java.lang.Object pSource,
                                  java.lang.Object pTarget,
                                  Trace pTrace,
                                  Edge pEdge)

      Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
      Parameters:
        `pSource` - the fixed value of pattern parameter source, or null if not bound.
        `pTarget` - the fixed value of pattern parameter target, or null if not bound.
        `pTrace` - the fixed value of pattern parameter trace, or null if not bound.
        `pEdge` - the fixed value of pattern parameter edge, or null if not bound.
      Returns:
        the number of pattern matches found.

    - #### forEachMatch

          public void forEachMatch(java.lang.Object pSource,
                                   java.lang.Object pTarget,
                                   Trace pTrace,
                                   Edge pEdge,
                                   IMatchProcessor<? super Param2edgeMatch> processor)

      Executes the given processor on each match of the pattern that conforms to the given fixed values of some parameters.
      Parameters:
        `pSource` - the fixed value of pattern parameter source, or null if not bound.
        `pTarget` - the fixed value of pattern parameter target, or null if not bound.
        `pTrace` - the fixed value of pattern parameter trace, or null if not bound.
        `pEdge` - the fixed value of pattern parameter edge, or null if not bound.
        `processor` - the action that will process each pattern match.

    - #### forOneArbitraryMatch

          public boolean forOneArbitraryMatch(java.lang.Object pSource,
                                              java.lang.Object pTarget,
                                              Trace pTrace,
                                              Edge pEdge,
                                              IMatchProcessor<? super Param2edgeMatch> processor)

      Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. Neither determinism nor randomness of selection is guaranteed.
      Parameters:
        `pSource` - the fixed value of pattern parameter source, or null if not bound.
        `pTarget` - the fixed value of pattern parameter target, or null if not bound.
        `pTrace` - the fixed value of pattern parameter trace, or null if not bound.
        `pEdge` - the fixed value of pattern parameter edge, or null if not bound.
        `processor` - the action that will process the selected match.
      Returns:
        true if the pattern has at least one match with the given parameter values, false if the processor was not invoked

    - #### newMatch

          public Param2edgeMatch newMatch(java.lang.Object pSource,
                                          java.lang.Object pTarget,
                                          Trace pTrace,
                                          Edge pEdge)

      Returns a new (partial) match. This can be used e.g. to call the matcher with a partial match.

      The returned match will be immutable. Use `BaseMatcher.newEmptyMatch()` to obtain a mutable match object.

      Parameters:
        `pSource` - the fixed value of pattern parameter source, or null if not bound.
        `pTarget` - the fixed value of pattern parameter target, or null if not bound.
        `pTrace` - the fixed value of pattern parameter trace, or null if not bound.
        `pEdge` - the fixed value of pattern parameter edge, or null if not bound.
      Returns:
        the (partial) match object.

    - #### rawAccumulateAllValuesOfsource

          protected java.util.Set<java.lang.Object> rawAccumulateAllValuesOfsource(java.lang.Object[] parameters)

      Retrieve the set of values that occur in matches for source.
      Returns:
        the Set of all values or empty set if there are no matches

    - #### getAllValuesOfsource

          public java.util.Set<java.lang.Object> getAllValuesOfsource()

      Retrieve the set of values that occur in matches for source.
      Returns:
        the Set of all values or empty set if there are no matches

    - #### getAllValuesOfsource

          public java.util.Set<java.lang.Object> getAllValuesOfsource(Param2edgeMatch partialMatch)

      Retrieve the set of values that occur in matches for source.
      Returns:
        the Set of all values or empty set if there are no matches

    - #### getAllValuesOfsource

          public java.util.Set<java.lang.Object> getAllValuesOfsource(java.lang.Object pTarget,
                                                                      Trace pTrace,
                                                                      Edge pEdge)

      Retrieve the set of values that occur in matches for source.
      Returns:
        the Set of all values or empty set if there are no matches

    - #### rawAccumulateAllValuesOftarget

          protected java.util.Set<java.lang.Object> rawAccumulateAllValuesOftarget(java.lang.Object[] parameters)

      Retrieve the set of values that occur in matches for target.
      Returns:
        the Set of all values or empty set if there are no matches

    - #### getAllValuesOftarget

          public java.util.Set<java.lang.Object> getAllValuesOftarget()

      Retrieve the set of values that occur in matches for target.
      Returns:
        the Set of all values or empty set if there are no matches

    - #### getAllValuesOftarget

          public java.util.Set<java.lang.Object> getAllValuesOftarget(Param2edgeMatch partialMatch)

      Retrieve the set of values that occur in matches for target.
      Returns:
        the Set of all values or empty set if there are no matches

    - #### getAllValuesOftarget

          public java.util.Set<java.lang.Object> getAllValuesOftarget(java.lang.Object pSource,
                                                                      Trace pTrace,
                                                                      Edge pEdge)

      Retrieve the set of values that occur in matches for target.
      Returns:
        the Set of all values or empty set if there are no matches

    - #### rawAccumulateAllValuesOftrace

          protected java.util.Set<Trace> rawAccumulateAllValuesOftrace(java.lang.Object[] parameters)

      Retrieve the set of values that occur in matches for trace.
      Returns:
        the Set of all values or empty set if there are no matches

    - #### getAllValuesOftrace

          public java.util.Set<Trace> getAllValuesOftrace()

      Retrieve the set of values that occur in matches for trace.
      Returns:
        the Set of all values or empty set if there are no matches

    - #### getAllValuesOftrace

          public java.util.Set<Trace> getAllValuesOftrace(Param2edgeMatch partialMatch)

      Retrieve the set of values that occur in matches for trace.
      Returns:
        the Set of all values or empty set if there are no matches

    - #### getAllValuesOftrace

          public java.util.Set<Trace> getAllValuesOftrace(java.lang.Object pSource,
                                                          java.lang.Object pTarget,
                                                          Edge pEdge)

      Retrieve the set of values that occur in matches for trace.
      Returns:
        the Set of all values or empty set if there are no matches

    - #### rawAccumulateAllValuesOfedge

          protected java.util.Set<Edge> rawAccumulateAllValuesOfedge(java.lang.Object[] parameters)

      Retrieve the set of values that occur in matches for edge.
      Returns:
        the Set of all values or empty set if there are no matches

    - #### getAllValuesOfedge

          public java.util.Set<Edge> getAllValuesOfedge()

      Retrieve the set of values that occur in matches for edge.
      Returns:
        the Set of all values or empty set if there are no matches

    - #### getAllValuesOfedge

          public java.util.Set<Edge> getAllValuesOfedge(Param2edgeMatch partialMatch)

      Retrieve the set of values that occur in matches for edge.
      Returns:
        the Set of all values or empty set if there are no matches

    - #### getAllValuesOfedge

          public java.util.Set<Edge> getAllValuesOfedge(java.lang.Object pSource,
                                                        java.lang.Object pTarget,
                                                        Trace pTrace)

      Retrieve the set of values that occur in matches for edge.
      Returns:
        the Set of all values or empty set if there are no matches

    - #### tupleToMatch

          protected Param2edgeMatch tupleToMatch(Tuple t)

      Specified by:
        `tupleToMatch` in class `BaseMatcher<Param2edgeMatch>`

    - #### arrayToMatch

          protected Param2edgeMatch arrayToMatch(java.lang.Object[] match)

      Description copied from class: `BaseMatcher`
      Converts the array representation of a pattern match to an immutable Match object.
      Specified by:
        `arrayToMatch` in class `BaseMatcher<Param2edgeMatch>`

    - #### arrayToMatchMutable

          protected Param2edgeMatch arrayToMatchMutable(java.lang.Object[] match)

      Description copied from class: `BaseMatcher`
      Converts the array representation of a pattern match to a mutable Match object.
      Specified by:
        `arrayToMatchMutable` in class `BaseMatcher<Param2edgeMatch>`

    - #### querySpecification

          public static IQuerySpecification<Param2edgeMatcher> querySpecification()
                                                                           throws ViatraQueryException

      Returns:
        the singleton instance of the query specification of this pattern
      Throws:
        `ViatraQueryException` - if the pattern definition could not be loaded