Package org.eclipse.viatra.query.runtime.rete.matcher

## Class ReteBackendFactory

- java.lang.Object
- - org.eclipse.viatra.query.runtime.rete.matcher.ReteBackendFactory

- All Implemented Interfaces:
    `IQueryBackendFactory`
  Direct Known Subclasses:
    `DRedReteBackendFactory`, `TimelyReteBackendFactory`

      public class ReteBackendFactory
      extends java.lang.Object
      implements IQueryBackendFactory

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static ReteBackendFactory` | `INSTANCE` |
    `protected static int` | `reteThreads` | EXPERIMENTAL

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ReteBackendFactory()` | Deprecated. Use the static `INSTANCE` field instead

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `IMatcherCapability` | `calculateRequiredCapability​(PQuery query, QueryEvaluationHint hint)` | Calculate the required capabilities, which are needed to execute the given pattern
    `IQueryBackend` | `create​(IQueryBackendContext context)` | Creates a new `IQueryBackend` instance tied to the given context elements.
    `IQueryBackend` | `create​(IQueryBackendContext context, boolean deleteAndRederiveEvaluation, TimelyConfiguration timelyConfiguration)` |
    `boolean` | `equals​(java.lang.Object obj)` |
    `java.lang.Class<? extends IQueryBackend>` | `getBackendClass()` | The backend instances created by this factory are guaranteed to conform to the returned class.
    `int` | `hashCode()` |
    `boolean` | `isCaching()` | Returns whether the current backend is caching

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

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

- - ### Field Detail

    - #### reteThreads

          protected static final int reteThreads

      EXPERIMENTAL
      See Also:
        Constant Field Values

    - #### INSTANCE

          public static final ReteBackendFactory INSTANCE

      Since:
        2.0

  - ### Constructor Detail

    - #### ReteBackendFactory

          @Deprecated
          public ReteBackendFactory()

      Deprecated.
      Use the static `INSTANCE` field instead

  - ### Method Detail

    - #### create

          public IQueryBackend create​(IQueryBackendContext context)

      Description copied from interface: `IQueryBackendFactory`
      Creates a new `IQueryBackend` instance tied to the given context elements.
      Specified by:
        `create` in interface `IQueryBackendFactory`
      Returns:
        an instance of the class returned by `IQueryBackendFactory.getBackendClass()` that operates in the given context.
      Since:
        1.5

    - #### create

          public IQueryBackend create​(IQueryBackendContext context,
                                      boolean deleteAndRederiveEvaluation,
                                      TimelyConfiguration timelyConfiguration)

      Since:
        2.4

    - #### getBackendClass

          public java.lang.Class<? extends IQueryBackend> getBackendClass()

      Description copied from interface: `IQueryBackendFactory`
      The backend instances created by this factory are guaranteed to conform to the returned class.
      Specified by:
        `getBackendClass` in interface `IQueryBackendFactory`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### equals

          public boolean equals​(java.lang.Object obj)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### calculateRequiredCapability

          public IMatcherCapability calculateRequiredCapability​(PQuery query,
                                                                QueryEvaluationHint hint)

      Description copied from interface: `IQueryBackendFactory`
      Calculate the required capabilities, which are needed to execute the given pattern
      Specified by:
        `calculateRequiredCapability` in interface `IQueryBackendFactory`
      Since:
        1.4

    - #### isCaching

          public boolean isCaching()

      Description copied from interface: `IQueryBackendFactory`
      Returns whether the current backend is caching
      Specified by:
        `isCaching` in interface `IQueryBackendFactory`