Package org.nuxeo.ecm.core.blob
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
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enumHints for returningURIs appropriate for the expected usage. -
Method Summary
Modifier and TypeMethodDescriptionvoidDeletes the blobs marked for deletion, if enough time has elapsed.getAvailableConversions(Blob blob, BlobManager.UsageHint hint) Gets a map of available MIME type conversions and correspondingURIfor a blob.getBlobKeyReplacement(String blobProviderId, String key) Gets the replacement (if any) for a blob key.Gets the blob provider with the given id.getBlobProvider(Blob blob) Gets the blob provider for the given blob.Get the map of blob providersdefault BlobProviderDeprecated.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.Deprecated.since 11.1, useBlob.getFile()insteadDeprecated.since 11.1, useBlob.getStream()insteadgetThumbnail(Blob blob) Gets anInputStreamfor a thumbnail of a blob.getURI(Blob blob, BlobManager.UsageHint hint, jakarta.servlet.http.HttpServletRequest servletRequest) Gets anURIfor the content of a blob.voidmarkBlobForDeletion(String blobProviderId, String key) Marks the given blob for deletion at a later time.voidsetBlobKeyReplacement(String blobProviderId, String key, String newKey) Records the fact that a blob key has been replaced by another one.
-
Method Details
-
getBlobProvider
Gets the blob provider with the given id.- Parameters:
id- the blob provider id- Returns:
- the blob provider
-
getBlobProviderWithNamespace
Deprecated.since 11.1, usegetBlobProviderWithNamespace(String, String)insteadGets 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
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 namespacedefaultId- the blob provider to use as a fallback to create a namespaced version- Returns:
- the blob provider
- Since:
- 11.1
-
getBlobProvider
Gets the blob provider for the given blob.- Returns:
- the blob provider
- Since:
- 7.4
-
getStream
Deprecated.since 11.1, useBlob.getStream()insteadGets anInputStreamfor the data of a managed blob.If the blob is managed this is equivalent to
ManagedBlob.getStream(), otherwise returnsnull.- Parameters:
blob- the blob- Returns:
- the stream, or
nullif the blob is not managed - Throws:
IOException
-
getFile
Deprecated.since 11.1, useBlob.getFile()insteadGets aFile(if one exists) for the data of a managed blob.If the blob is managed this is equivalent to
ManagedBlob.getFile(), otherwise returnsnull.- Parameters:
blob- the blob- Returns:
- the file, or
nullif no underlying file is available or the blob is not managed - Since:
- 11.1
-
getThumbnail
Gets anInputStreamfor a thumbnail of a blob.Like all
InputStream, the result must be closed when done with it to avoid resource leaks.- Parameters:
blob- the blob- Returns:
- the thumbnail stream
- Throws:
IOException
-
getURI
URI getURI(Blob blob, BlobManager.UsageHint hint, jakarta.servlet.http.HttpServletRequest servletRequest) throws IOException Gets anURIfor the content of a blob.- Parameters:
blob- the blobhint-BlobManager.UsageHintservletRequest- the servlet request, ornull- Returns:
- the
URI, ornullif none available - Throws:
IOException
-
getAvailableConversions
Gets a map of available MIME type conversions and correspondingURIfor a blob.- Returns:
- a map of MIME types and
URI, which may be empty - Throws:
IOException
-
getBlobProviders
Map<String,BlobProvider> getBlobProviders()Get the map of blob providers- Returns:
- the list of blob providers
- Since:
- 7.3
-
setBlobKeyReplacement
Records the fact that a blob key has been replaced by another one.- Parameters:
blobProviderId- the blob provider idkey- the old blob keynewKey- the new blob key- Since:
- 11.5
- See Also:
-
getBlobKeyReplacement
Gets the replacement (if any) for a blob key.- Parameters:
blobProviderId- the blob provider idkey- the old blob key- Returns:
- the new blob key, or the old one if there was no replacement
- Since:
- 11.5
- See Also:
-
markBlobForDeletion
Marks the given blob for deletion at a later time.- Parameters:
blobProviderId- the blob provider idkey- the blob key- Since:
- 2021.9
-
deleteBlobsMarkedForDeletion
void deleteBlobsMarkedForDeletion()Deletes the blobs marked for deletion, if enough time has elapsed.- Since:
- 2021.9
-
getBlobProviderWithNamespace(String, String)instead