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.
Author:
Benjamin Bentmann, Robert Scholte
  • Method Summary

    Modifier and Type
    Method
    Description
    get(String groupId, String artifactId, String version, String tag)
    Gets the specified data from the cache.
    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.
    default Object
    get(Source path, String tag)
    Gets the specified data from the cache.
    default <T> T
    get(Source path, org.apache.maven.model.building.ModelCacheTag<T> tag)
    Gets the specified data from the cache.
    void
    put(String groupId, String artifactId, String version, String tag, Object data)
    Puts the specified data into the cache.
    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.
    default void
    put(Source path, String tag, Object data)
    Puts the specified data into the cache.
    default <T> void
    put(Source path, org.apache.maven.model.building.ModelCacheTag<T> tag, T data)
    Puts the specified data into the cache.
  • 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.