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

## Interface ICache

- All Known Implementing Classes:
    `PurgableCache`

      public interface ICache

  A cache is a simple key-value pair that stores calculated values for specific key objects

  NOTE These caches are not expected to be used outside query backend implementations

  Since:
    1.7
  No Reference:
    This interface is not intended to be referenced by clients.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `<T> T` | `getValue​(java.lang.Object key, java.lang.Class<? extends T> clazz, java.util.function.Supplier<T> valueProvider)` | Return a selected value for the key object.

- - ### Method Detail

    - #### getValue

          <T> T getValue​(java.lang.Object key,
                         java.lang.Class<? extends T> clazz,
                         java.util.function.Supplier<T> valueProvider)

      Return a selected value for the key object. If the value is not available in the cache yet, the given provider is called once
      Since:
        2.0