summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/FormatActivator.java13
-rw-r--r--org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TarFormat.java3
-rw-r--r--org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TgzFormat.java3
-rw-r--r--org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TxzFormat.java3
-rw-r--r--org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/ZipFormat.java3
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/api/ArchiveCommand.java30
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/api/errors/GitAPIException.java8
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);