Class InMemoryZipFactory.InMemoryArchive
- java.lang.Object
-
- jetbrains.buildServer.zip.AbstractZipReader
-
- jetbrains.buildServer.serverSide.util.InMemoryZipFactory.InMemoryArchive
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,ZipReader
,ZipWriter
- Enclosing class:
- InMemoryZipFactory
public static final class InMemoryZipFactory.InMemoryArchive extends AbstractZipReader implements ZipWriter, ZipReader
-
-
Constructor Summary
Constructors Constructor Description InMemoryArchive()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Set<String>
allNames()
void
close()
Closes the opened zip file.OutputStream
createBinaryFile(String name)
Creates a binary output stream to write into an archive.OutputStream
createBinaryFile(String name, long mtimeMillis)
Creates a new ZIP entry to store binary data and returns anOutputStream
to it.Writer
createTextFile(String name, Charset charset)
Creates a text output stream to write into an archive.Writer
createTextFile(String name, Charset charset, long mtimeMillis)
Creates a new ZIP entry to store plain text data and returns aWriter
to it.Collection<String>
getAllFileNames()
long
getFileSize(String name)
Returns the size of the (uncompressed) file.InputStream
openBinaryFile(String name)
Opens a binary file for read.void
setArchiveComment(String comment)
Writes a comment to the archive.-
Methods inherited from class jetbrains.buildServer.zip.AbstractZipReader
doesFileExist, doesFileExist, listDirectoryFiles, listFiles, openTextFile
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jetbrains.buildServer.zip.ZipReader
doesFileExist, doesFileExist, listDirectoryFiles, listFiles, openTextFile
-
-
-
-
Method Detail
-
setArchiveComment
public void setArchiveComment(@Nullable String comment)
Description copied from interface:ZipWriter
Writes a comment to the archive.- Specified by:
setArchiveComment
in interfaceZipWriter
- Parameters:
comment
- the text to write as a comment.
-
createTextFile
@NotNull public Writer createTextFile(@NotNull String name, @Nullable Charset charset)
Creates a text output stream to write into an archive. The character code table depends on the implementation.- Specified by:
createTextFile
in interfaceZipWriter
- Parameters:
name
- file name (relative to the archive root).charset
- character set to use for this file, or null for use default character set.- Returns:
- text output stream.
- See Also:
ZipWriter.createTextFile(String, Charset)
-
createTextFile
@NotNull public Writer createTextFile(@NotNull String name, @Nullable Charset charset, long mtimeMillis)
Creates a new ZIP entry to store plain text data and returns a
Writer
to it. It's the client's responsibility to close the returnedWriter
.- Specified by:
createTextFile
in interfaceZipWriter
- Parameters:
name
- the name of the ZIP entry to create (relative path with forward slashes (/
)).charset
- the optional character set to use, ornull
if the default character set is to be used.mtimeMillis
- the entry's modification time (@{code mtime}), in milliseconds since epoch.- Returns:
- the
Writer
pointing to the newly created ZIP entry. TheWriter
is already buffered, to there's no need to wrap it into aBufferedWriter
. - See Also:
ZipWriter.createTextFile(String, Charset, long)
-
createBinaryFile
@NotNull public OutputStream createBinaryFile(@NotNull String name)
Creates a binary output stream to write into an archive.- Specified by:
createBinaryFile
in interfaceZipWriter
- Parameters:
name
- file name (relative to the archive root).- Returns:
- binary output stream.
- See Also:
ZipWriter.createBinaryFile(String)
-
createBinaryFile
@NotNull public OutputStream createBinaryFile(@NotNull String name, long mtimeMillis)
Creates a new ZIP entry to store binary data and returns an
OutputStream
to it. It's the client's responsibility to close the returnedOutputStream
.- Specified by:
createBinaryFile
in interfaceZipWriter
- Parameters:
name
- the name of the ZIP entry to create (relative path with forward slashes (/
)).mtimeMillis
- the entry's modification time (@{code mtime}), in milliseconds since epoch.- Returns:
- the
OutputStream
pointing to the newly created ZIP entry. TheOutputStream
is already buffered, to there's no need to wrap it into aBufferedOutputStream
. - See Also:
ZipWriter.createBinaryFile(String, long)
-
close
public void close()
Description copied from interface:ZipReader
Closes the opened zip file.
-
allNames
protected Set<String> allNames()
- Specified by:
allNames
in classAbstractZipReader
-
getAllFileNames
@NotNull public Collection<String> getAllFileNames()
-
getFileSize
public long getFileSize(String name)
Description copied from interface:ZipReader
Returns the size of the (uncompressed) file.- Specified by:
getFileSize
in interfaceZipReader
- Parameters:
name
- file name.- Returns:
- size of file, in bytes; or
Long.MIN_VALUE
if file doesn't exist.
-
openBinaryFile
@NotNull public InputStream openBinaryFile(@NotNull String name) throws IOException
Description copied from interface:ZipReader
Opens a binary file for read.- Specified by:
openBinaryFile
in interfaceZipReader
- Parameters:
name
- name of the file to open.- Returns:
- binary input stream.
- Throws:
IOException
FileNotFoundException
- if no entry withname
has been found in the archive.
-
-