diff options
7 files changed, 63 insertions, 0 deletions
diff --git a/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/FormatActivator.java b/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/FormatActivator.java index f2f6140256..c8ea28eeff 100644 --- a/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/FormatActivator.java +++ b/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/FormatActivator.java @@ -56,10 +56,23 @@ import org.osgi.framework.BundleContext; * leaks). */ public class FormatActivator implements BundleActivator { + /** + * Registers all included archive formats by calling + * {@link #start()}. This method is called by the OSGi framework + * when the bundle is started. + * + * @param context unused + */ public void start(BundleContext context) { ArchiveFormats.registerAll(); } + /** + * Cleans up after {@link #start(BundleContext)} by calling + * {@link #stop()}. + * + * @param context unused + */ public void stop(BundleContext context) { ArchiveFormats.unregisterAll(); } diff --git a/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TarFormat.java b/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TarFormat.java index 2e5683c2b5..3b27489e26 100644 --- a/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TarFormat.java +++ b/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TarFormat.java @@ -53,6 +53,9 @@ import org.eclipse.jgit.api.ArchiveCommand; import org.eclipse.jgit.lib.FileMode; import org.eclipse.jgit.lib.ObjectLoader; +/** + * Unix TAR format (ustar + old GNU long filename extension). + */ public class TarFormat implements ArchiveCommand.Format<ArchiveOutputStream> { public ArchiveOutputStream createArchiveOutputStream(OutputStream s) { return new TarArchiveOutputStream(s); diff --git a/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TgzFormat.java b/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TgzFormat.java index d68cb68e8b..1c72bf8dcc 100644 --- a/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TgzFormat.java +++ b/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TgzFormat.java @@ -51,6 +51,9 @@ import org.eclipse.jgit.api.ArchiveCommand; import org.eclipse.jgit.lib.FileMode; import org.eclipse.jgit.lib.ObjectLoader; +/** + * gzip-compressed tarball (tar.gz) format. + */ public class TgzFormat implements ArchiveCommand.Format<ArchiveOutputStream> { private final ArchiveCommand.Format<ArchiveOutputStream> tarFormat = new TarFormat(); diff --git a/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TxzFormat.java b/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TxzFormat.java index 622571f983..d1547c683c 100644 --- a/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TxzFormat.java +++ b/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TxzFormat.java @@ -51,6 +51,9 @@ import org.eclipse.jgit.api.ArchiveCommand; import org.eclipse.jgit.lib.FileMode; import org.eclipse.jgit.lib.ObjectLoader; +/** + * Xz-compressed tar (tar.xz) format. + */ public class TxzFormat implements ArchiveCommand.Format<ArchiveOutputStream> { private final ArchiveCommand.Format<ArchiveOutputStream> tarFormat = new TarFormat(); diff --git a/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/ZipFormat.java b/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/ZipFormat.java index 19328775a4..a0906d4dd5 100644 --- a/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/ZipFormat.java +++ b/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/ZipFormat.java @@ -52,6 +52,9 @@ import org.eclipse.jgit.api.ArchiveCommand; import org.eclipse.jgit.lib.FileMode; import org.eclipse.jgit.lib.ObjectLoader; +/** + * PKWARE's ZIP format. + */ public class ZipFormat implements ArchiveCommand.Format<ArchiveOutputStream> { public ArchiveOutputStream createArchiveOutputStream(OutputStream s) { return new ZipArchiveOutputStream(s); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/ArchiveCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/ArchiveCommand.java index 6104cb432d..7726e15eeb 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/ArchiveCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/ArchiveCommand.java @@ -116,9 +116,39 @@ public class ArchiveCommand extends GitCommand<OutputStream> { * } finally { * out.close(); * } + * + * @param <T> + * type representing an archive being created. */ public static interface Format<T extends Closeable> { + /** + * 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. + * + * @param s + * underlying output stream to which to write the archive. + * @return new archive object for use in putEntry + * @throws IOException + * thrown by the underlying output stream for I/O errors + */ T createArchiveOutputStream(OutputStream s) throws IOException; + + /** + * Write an entry to an archive. + * + * @param out + * archive object from createArchiveOutputStream + * @param path + * full filename relative to the root of the archive + * @param mode + * mode (for example FileMode.REGULAR_FILE or + * FileMode.SYMLINK) + * @param loader + * blob object with data for this entry + * @throws IOException + * thrown by the underlying output stream for I/O errors + */ void putEntry(T out, String path, FileMode mode, ObjectLoader loader) throws IOException; } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/errors/GitAPIException.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/errors/GitAPIException.java index 92599ca7d6..9760c49e96 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/errors/GitAPIException.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/errors/GitAPIException.java @@ -48,6 +48,11 @@ public abstract class GitAPIException extends Exception { /** * Constructs a new exception with the specified detail * message and cause. + * + * @param message + * detail message + * @param cause + * cause */ protected GitAPIException(String message, Throwable cause) { super(message, cause); @@ -56,6 +61,9 @@ public abstract class GitAPIException extends Exception { /** * Constructs a new exception with the specified detail * message and no cause. + * + * @param message + * detail message */ protected GitAPIException(String message) { super(message); |