Interface ExportSection

All Known Subinterfaces:
ExportContext

public interface ExportSection
Allows addition of entries to the export archive, either from disk or directly from a stream.
Since:
5.13
  • Method Details

    • emptyArchive

      static IoConsumer<SequentialArchive> emptyArchive()
      Returns a consumer for SequentialArchive that adds no entries to the archive.
      Returns:
      a consumer that adds no entries
    • emptyEntry

      static IoConsumer<OutputStream> emptyEntry()
      Returns a consumer for OutputStream that does not write any data.
      Returns:
      a consumer that does not write any data
    • addEntriesAsArchive

      void addEntriesAsArchive(@Nonnull Path entryName, @Nonnull IoConsumer<SequentialArchive> writer, boolean compress)
      Adds entries packaged as an archive to the export archive
      Parameters:
      entryName - the name to give this entry
      writer - used to write the contents of the entry (as an archive file)
      compress - whether to compress the contents of the entry
      Throws:
      com.atlassian.bitbucket.migration.ExportException - when an unrecoverable exception occurs when writing to the archive
    • addEntry

      void addEntry(@Nonnull Path entryName, @Nonnull IoConsumer<OutputStream> writer, boolean compress)
      Creates a file with the given entryName under this section of the export archive, then consumes the OutputStream it obtains from the file, using the given Consumer
      Parameters:
      entryName - the entryName of the file to be created. Use Paths.get(String, String...) to use this method efficiently.
      writer - consumes the OutputStream to add an entry to the archive
      compress - whether to compress the entry when adding it to the archive
      Throws:
      com.atlassian.bitbucket.migration.ExportException - when an unrecoverable exception occurs when writing to the archive