Interface CacheableAvatarSupplier

All Superinterfaces:
AvatarSupplier, InputSupplier<InputStream>
All Known Implementing Classes:
DelegatingCacheableAvatarSupplier

public interface CacheableAvatarSupplier extends AvatarSupplier
Augments the AvatarSupplier with timestamp information that can be used to control caching, or to simply display a modification date indicating when the avatar was last updated.
Since:
9.5
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Marker value to be returned by getTimestamp() for avatars which cannot be modified.
    static final int
    Marker value to be returned by getTimestamp() for avatars whose modification timestamp cannot be determined by the system.
  • Method Summary

    Modifier and Type
    Method
    Description
    long
    The timestamp at which the avatar was last modified, in milliseconds.

    Methods inherited from interface com.atlassian.bamboo.avatar.AvatarSupplier

    getContentType, open
  • Field Details

    • TIMESTAMP_ETERNAL

      static final int TIMESTAMP_ETERNAL
      Marker value to be returned by getTimestamp() for avatars which cannot be modified.
      See Also:
    • TIMESTAMP_UNKNOWN

      static final int TIMESTAMP_UNKNOWN
      Marker value to be returned by getTimestamp() for avatars whose modification timestamp cannot be determined by the system.
      See Also:
  • Method Details

    • getTimestamp

      long getTimestamp()
      The timestamp at which the avatar was last modified, in milliseconds.

      To account for differences in avatar repository implementations:

      • If timestamp information is not available, implementations shall return TIMESTAMP_UNKNOWN. Avatars without timestamps should not be cached, as it may not be possible to reliably detect updates.
      • If the avatar cannot be updated, implementations shall return TIMESTAMP_ETERNAL. Such avatars may be cached more aggressively, as they cannot change.
      Returns:
      the avatar's modification timestamp in milliseconds, or TIMESTAMP_UNKNOWN if no modification date is available, or TIMESTAMP_ETERNAL if the avatar is unmodifiable