Package org.nuxeo.ecm.core.api
Interface Blob
- All Known Subinterfaces:
ManagedBlob
- All Known Implementing Classes:
AbstractBlob,AsyncBlob,BinaryBlob,BlobWrapper,ByteArrayBlob,FileBlob,JSONBlob,SimpleManagedBlob,StringBlob,URLBlob,ZipEntryBlob
public interface Blob
A blob contains large binary data, and is associated with a MIME type, encoding, and filename. It also has a fixed
length, and a digest.
This interface requires that implementations of getStream() can be called several times, so the first call
must not "exhaust" the stream.
-
Method Summary
Modifier and TypeMethodDescriptionbyte[]Gets aCloseableFilebacking this blob, which must be closed when done by the caller.getCloseableFile(String ext) Gets aCloseableFilebacking this blob, which must be closed when done by the caller.getFile()If this blob is backed by an actual file, returns it.longGets the data length in bytes if known.Gets anInputStreamfor the data of this blob.voiddefault voidsetDigestAlgorithm(String digestAlgorithm) voidsetEncoding(String encoding) voidsetFilename(String filename) voidsetMimeType(String mimeType) voidtransferTo(File file) voidtransferTo(OutputStream out)
-
Method Details
-
getStream
Gets anInputStreamfor the data of this blob.The contract of
Blobis that this method can be called several times and will correctly return a newInputStreameach time. In other words, several reads of theBlobcan be done.Like all
InputStream, the result must be closed when done with it to avoid resource leaks.- Returns:
- the stream
- Throws:
IOException
-
getLength
long getLength()Gets the data length in bytes if known.- Returns:
- the data length or -1 if not known
-
getMimeType
String getMimeType() -
getEncoding
String getEncoding() -
getFilename
String getFilename() -
getDigestAlgorithm
String getDigestAlgorithm()- Since:
- 7.4
-
getDigest
String getDigest() -
setMimeType
-
setEncoding
-
setFilename
-
setDigestAlgorithm
- Since:
- 11.5
-
setDigest
-
getByteArray
- Throws:
IOException
-
getString
- Throws:
IOException
-
transferTo
- Throws:
IOException
-
transferTo
- Throws:
IOException
-
getFile
File getFile()If this blob is backed by an actual file, returns it.The returned file may be short-lived (temporary), so should be used immediately.
- Returns:
- a file, or
nullif the blob is not backed by a file - Since:
- 7.2
-
getCloseableFile
Gets aCloseableFilebacking this blob, which must be closed when done by the caller.The returned file may be the original file, a temporary file, or a symbolic link.
- Returns:
- a closeable file, to be closed when done
- Throws:
IOException- Since:
- 7.2
-
getCloseableFile
Gets aCloseableFilebacking this blob, which must be closed when done by the caller.The returned file may be the original file, a temporary file, or a symbolic link.
- Parameters:
ext- the required extension for the file, ornullif it doesn't matter- Returns:
- a closeable file, to be closed when done
- Throws:
IOException- Since:
- 7.2
-