Interface ModelCache

All Known Implementing Classes:
DefaultModelCache

public interface ModelCache
Caches auxiliary data used during model building like already processed raw/effective models. The data in the cache is meant for exclusive consumption by the model builder and is opaque to the cache implementation. The cache key is formed by a combination of group id, artifact id, version and tag. The first three components generally refer to the identify of a model. The tag allows for further classification of the associated data on the sole discretion of the model builder.
  • Method Details

    • put

      default void put(Source path, String tag, Object data)
      Puts the specified data into the cache.
      Parameters:
      path - The path of the cache record, must not be null.
      tag - The tag of the cache record, must not be null.
      data - The data to store in the cache, must not be null.
      Since:
      4.0.0
    • get

      default Object get(Source path, String tag)
      Gets the specified data from the cache.
      Parameters:
      path - The path of the cache record, must not be null.
      tag - The tag of the cache record, must not be null.
      Returns:
      The requested data or null if none was present in the cache.
      Since:
      4.0.0
    • put

      void put(String groupId, String artifactId, String version, String tag, Object data)
      Puts the specified data into the cache.
      Parameters:
      groupId - The group id of the cache record, must not be null.
      artifactId - The artifact id of the cache record, must not be null.
      version - The version of the cache record, must not be null.
      tag - The tag of the cache record, must not be null.
      data - The data to store in the cache, must not be null.
    • get

      Object get(String groupId, String artifactId, String version, String tag)
      Gets the specified data from the cache.
      Parameters:
      groupId - The group id of the cache record, must not be null.
      artifactId - The artifact id of the cache record, must not be null.
      version - The version of the cache record, must not be null.
      tag - The tag of the cache record, must not be null.
      Returns:
      The requested data or null if none was present in the cache.
    • put

      default <T> void put(Source path, org.apache.maven.model.building.ModelCacheTag<T> tag, T data)
      Puts the specified data into the cache.
      Parameters:
      path - The path of the cache record, must not be null.
      tag - The tag of the cache record, must not be null.
      data - The data to store in the cache, must not be null.
      Since:
      4.0.0
    • get

      default <T> T get(Source path, org.apache.maven.model.building.ModelCacheTag<T> tag)
      Gets the specified data from the cache.
      Parameters:
      path - The path of the cache record, must not be null.
      tag - The tag of the cache record, must not be null.
      Returns:
      The requested data or null if none was present in the cache.
      Since:
      4.0.0
    • put

      default <T> void put(String groupId, String artifactId, String version, org.apache.maven.model.building.ModelCacheTag<T> tag, T data)
      Puts the specified data into the cache.
      Parameters:
      groupId - The group id of the cache record, must not be null.
      artifactId - The artifact id of the cache record, must not be null.
      version - The version of the cache record, must not be null.
      tag - The tag of the cache record, must not be null.
      data - The data to store in the cache, must not be null.
    • get

      default <T> T get(String groupId, String artifactId, String version, org.apache.maven.model.building.ModelCacheTag<T> tag)
      Gets the specified data from the cache.
      Parameters:
      groupId - The group id of the cache record, must not be null.
      artifactId - The artifact id of the cache record, must not be null.
      version - The version of the cache record, must not be null.
      tag - The tag of the cache record, must not be null.
      Returns:
      The requested data or null if none was present in the cache.
    • computeIfAbsent

      default <T> T computeIfAbsent(String groupId, String artifactId, String version, org.apache.maven.model.building.ModelCacheTag<T> tag, Supplier<Supplier<T>> data)
    • computeIfAbsent

      default <T> T computeIfAbsent(Source path, org.apache.maven.model.building.ModelCacheTag<T> tag, Supplier<Supplier<T>> data)
    • computeIfAbsent

      Object computeIfAbsent(String groupId, String artifactId, String version, String tag, Supplier<Supplier<?>> data)
    • computeIfAbsent

      Object computeIfAbsent(Source path, String tag, Supplier<Supplier<?>> data)