Interface BlobManager

  • All Known Implementing Classes:
    BlobManagerComponent

    public interface BlobManager
    Service managing the storage and retrieval of Blobs, through internally-registered BlobProviders.
    Since:
    7.2
    • Method Detail

      • getBlobProvider

        BlobProvider getBlobProvider​(String id)
        Gets the blob provider with the given id.
        Parameters:
        id - the blob provider id
        Returns:
        the blob provider
      • getBlobProviderWithNamespace

        @Deprecated
        default BlobProvider getBlobProviderWithNamespace​(String id)
        Deprecated.
        Gets the blob provider with the given id, or, if none has been registered, a namespaced version of the default blob provider.
        Parameters:
        id - the blob provider id or namespace
        Returns:
        the blob provider
        Since:
        10.10
      • getBlobProviderWithNamespace

        BlobProvider getBlobProviderWithNamespace​(String id,
                                                  String defaultId)
        Gets the blob provider with the given id, or, if none has been registered, a namespaced version of the blob provider with the given default id.
        Parameters:
        id - the blob provider id or namespace
        defaultId - the blob provider to use as a fallback to create a namespaced version
        Returns:
        the blob provider
        Since:
        11.1
      • getBlobProvider

        BlobProvider getBlobProvider​(Blob blob)
        Gets the blob provider for the given blob.
        Returns:
        the blob provider
        Since:
        7.4
      • getFile

        @Deprecated
        File getFile​(Blob blob)
        Deprecated.
        since 11.1, use Blob.getFile() instead
        Gets a File (if one exists) for the data of a managed blob.

        If the blob is managed this is equivalent to ManagedBlob.getFile(), otherwise returns null.

        Parameters:
        blob - the blob
        Returns:
        the file, or null if no underlying file is available or the blob is not managed
        Since:
        11.1
      • getBlobProviders

        Map<String,​BlobProvider> getBlobProviders()
        Get the map of blob providers
        Returns:
        the list of blob providers
        Since:
        7.3
      • setBlobKeyReplacement

        void setBlobKeyReplacement​(String blobProviderId,
                                   String key,
                                   String newKey)
        Records the fact that a blob key has been replaced by another one.
        Parameters:
        blobProviderId - the blob provider id
        key - the old blob key
        newKey - the new blob key
        Since:
        11.5
        See Also:
        getBlobKeyReplacement(String, String)
      • getBlobKeyReplacement

        String getBlobKeyReplacement​(String blobProviderId,
                                     String key)
        Gets the replacement (if any) for a blob key.
        Parameters:
        blobProviderId - the blob provider id
        key - the old blob key
        Returns:
        the new blob key, or the old one if there was no replacement
        Since:
        11.5
        See Also:
        setBlobKeyReplacement(String, String, String)
      • markBlobForDeletion

        void markBlobForDeletion​(String blobProviderId,
                                 String key)
        Marks the given blob for deletion at a later time.
        Parameters:
        blobProviderId - the blob provider id
        key - the blob key
        Since:
        2021.9
      • deleteBlobsMarkedForDeletion

        void deleteBlobsMarkedForDeletion()
        Deletes the blobs marked for deletion, if enough time has elapsed.
        Since:
        2021.9