Package org.eclipse.viatra.query.runtime.matchers.scopes

## Class SimpleLocalStorageBackend

- java.lang.Object
- - org.eclipse.viatra.query.runtime.matchers.scopes.SimpleLocalStorageBackend

- All Implemented Interfaces:
    `IStorageBackend`

      public class SimpleLocalStorageBackend
      extends java.lang.Object
      implements IStorageBackend

  Basic storage backend implementation based on local collections.

  EXPERIMENTAL. This class or interface has been added as part of a work in progress. There is no guarantee that this API will work or that it will remain the same.

  Since:
    2.1

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SimpleLocalStorageBackend()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `SimpleBinaryTable<java.lang.Object,​java.lang.Object>` | `createBinaryTable​(IInputKey key, ITableContext tableContext, boolean unique)` | Creates an index table for a simple source-target bidirectional mapping.
    `SimpleUnaryTable<java.lang.Object>` | `createUnaryTable​(IInputKey key, ITableContext tableContext, boolean unique)` | Creates an index table for a simple value set.
    `void` | `finishTransaction()` | Marks the end of a transaction.
    `void` | `startTransaction()` | Marks the beginning of a transaction.

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

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

- - ### Constructor Detail

    - #### SimpleLocalStorageBackend

          public SimpleLocalStorageBackend()

  - ### Method Detail

    - #### startTransaction

          public void startTransaction()

      Description copied from interface: `IStorageBackend`
      Marks the beginning of a transaction. In transaction mode, table updates may be temporarily delayed (`IIndexTable` methods may return stale answers) for better performance.
      Specified by:
        `startTransaction` in interface `IStorageBackend`

    - #### finishTransaction

          public void finishTransaction()

      Description copied from interface: `IStorageBackend`
      Marks the end of a transaction. Any updates delayed during the transaction must now be flushed.
      Specified by:
        `finishTransaction` in interface `IStorageBackend`

    - #### createUnaryTable

          public SimpleUnaryTable<java.lang.Object> createUnaryTable​(IInputKey key,
                                                                     ITableContext tableContext,
                                                                     boolean unique)

      Description copied from interface: `IStorageBackend`
      Creates an index table for a simple value set.
      Specified by:
        `createUnaryTable` in interface `IStorageBackend`
        `unique` - client promises to only insert a given tuple with multiplicity one

    - #### createBinaryTable

          public SimpleBinaryTable<java.lang.Object,​java.lang.Object> createBinaryTable​(IInputKey key,
                                                                                              ITableContext tableContext,
                                                                                              boolean unique)

      Description copied from interface: `IStorageBackend`
      Creates an index table for a simple source-target bidirectional mapping.
      Specified by:
        `createBinaryTable` in interface `IStorageBackend`
        `unique` - client promises to only insert a given tuple with multiplicity one