org.eclipse.jgit.api

## Interface ArchiveCommand.Format<T extends Closeable>

Type Parameters:
  `T` - type representing an archive being created.

Enclosing class:
  ArchiveCommand

    public static interface ArchiveCommand.Format<T extends Closeable>

Archival format. Usage: Repository repo = git.getRepository(); T out = format.createArchiveOutputStream(System.out); try { for (...) { format.putEntry(out, path, mode, repo.open(objectId)); } out.close(); }

### Method Summary

All Methods Instance Methods Abstract Methods
`T` `createArchiveOutputStream(OutputStream s)` Start a new archive.
`void` `putEntry(T out, String path, FileMode mode, ObjectLoader loader)` Write an entry to an archive.
`Iterable<String>` `suffixes()` Filename suffixes representing this format (e.g., { ".tar.gz", ".tgz" }).

### Method Detail

#### createArchiveOutputStream

    T createArchiveOutputStream(OutputStream s)
                         throws IOException

Start a new archive. Entries can be included in the archive using the putEntry method, and then the archive should be closed using its close method.

Parameters:
  `s` - underlying output stream to which to write the archive.
Returns:
  new archive object for use in putEntry
Throws:
  `IOException` - thrown by the underlying output stream for I/O errors

#### putEntry

    void putEntry(T out,
                  String path,
                  FileMode mode,
                  ObjectLoader loader)
           throws IOException

Write an entry to an archive.

Parameters:
  `out` - archive object from createArchiveOutputStream
  `path` - full filename relative to the root of the archive (with trailing '/' for directories)
  `mode` - mode (for example FileMode.REGULAR_FILE or FileMode.SYMLINK)
  `loader` - blob object with data for this entry (null for directories)
Throws:
  `IOException` - thrown by the underlying output stream for I/O errors

#### suffixes

    Iterable<String> suffixes()

Filename suffixes representing this format (e.g., { ".tar.gz", ".tgz" }). The behavior is undefined when suffixes overlap (if one format claims suffix ".7z", no other format should take ".tar.7z").

Returns:
  this format's suffixes