Package org.nuxeo.ecm.core.api.impl.blob
Class ZipEntryBlob
- java.lang.Object
-
- org.nuxeo.ecm.core.api.impl.blob.AbstractBlob
-
- org.nuxeo.ecm.core.api.impl.blob.ZipEntryBlob
-
- All Implemented Interfaces:
Serializable
,Blob
public class ZipEntryBlob extends AbstractBlob implements Serializable
ABlob
backed by an entry in a ZIP file.- Since:
- 7.2
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ZipEntryBlob.ZipEntryInputStream
InputStream
for a ZIP entry, that closes all necessary resources when closed.
-
Field Summary
Fields Modifier and Type Field Description protected String
entryName
protected Blob
zipBlob
protected ZipEntry
zipEntry
protected ZipFile
zipFile
-
Fields inherited from class org.nuxeo.ecm.core.api.impl.blob.AbstractBlob
digest, digestAlgorithm, encoding, filename, mimeType, TEXT_PLAIN, UTF_8
-
-
Constructor Summary
Constructors Constructor Description ZipEntryBlob(ZipFile zipFile, ZipEntry zipEntry)
Creates aBlob
from an entry in a zip file.ZipEntryBlob(Blob zipBlob, String entryName)
Creates aBlob
from an entry in a ZIP file blob.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getFilename()
long
getLength()
Gets the data length in bytes if known.InputStream
getStream()
Gets anInputStream
for the data of this blob.-
Methods inherited from class org.nuxeo.ecm.core.api.impl.blob.AbstractBlob
equals, equalsStream, getByteArray, getCloseableFile, getCloseableFile, getDigest, getDigestAlgorithm, getEncoding, getFile, getMimeType, getString, hashCode, setDigest, setDigestAlgorithm, setEncoding, setFilename, setMimeType, transferTo, transferTo
-
-
-
-
Method Detail
-
getStream
public InputStream getStream() throws IOException
Description copied from interface:Blob
Gets anInputStream
for the data of this blob.The contract of
Blob
is that this method can be called several times and will correctly return a newInputStream
each time. In other words, several reads of theBlob
can be done.Like all
InputStream
, the result must be closed when done with it to avoid resource leaks.- Specified by:
getStream
in interfaceBlob
- Returns:
- the stream
- Throws:
IOException
-
getLength
public long getLength()
Description copied from interface:Blob
Gets the data length in bytes if known.- Specified by:
getLength
in interfaceBlob
- Overrides:
getLength
in classAbstractBlob
- Returns:
- the data length or -1 if not known
-
getFilename
public String getFilename()
- Specified by:
getFilename
in interfaceBlob
- Overrides:
getFilename
in classAbstractBlob
-
-