Interface TarArchive

All Known Implementing Classes:
ImageArchive, ZipFileTarArchive
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface TarArchive
A TAR archive that can be written to an output stream.
Since:
2.3.0
Author:
Phillip Webb
  • Field Details

    • NORMALIZED_TIME

      static final Instant NORMALIZED_TIME
      Instant that can be used to normalize TAR files so all entries have the same modification time.
  • Method Details

    • writeTo

      void writeTo(OutputStream outputStream) throws IOException
      Write the TAR archive to the given output stream.
      Parameters:
      outputStream - the output stream to write to
      Throws:
      IOException - on IO error
    • getCompression

      default TarArchive.Compression getCompression()
      Return the compression being used with the tar archive.
      Returns:
      the used compression
      Since:
      3.2.6
    • of

      static TarArchive of(IOConsumer<Layout> layout)
      Factory method to create a new TarArchive instance with a specific layout.
      Parameters:
      layout - the TAR layout
      Returns:
      a new TarArchive instance
    • fromZip

      static TarArchive fromZip(File zip, Owner owner)
      Factory method to adapt a ZIP file to TarArchive.
      Parameters:
      zip - the source zip file
      owner - the owner of the entries in the TAR
      Returns:
      a new TarArchive instance
    • fromInputStream

      static TarArchive fromInputStream(InputStream inputStream, TarArchive.Compression compression)
      Factory method to adapt a ZIP file to TarArchive. Assumes that writeTo(OutputStream) will only be called once.
      Parameters:
      inputStream - the source input stream
      compression - the compression used
      Returns:
      a new TarArchive instance
      Since:
      3.2.6