You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by bo...@apache.org on 2014/01/19 07:30:31 UTC
svn commit: r1559476 - in
/commons/proper/compress/branches/compress-2.0/src/main/java/org/apache/commons/compress2/archivers:
ArchiveFormat.java spi/AbstractArchiveFormat.java
Author: bodewig
Date: Sun Jan 19 06:30:31 2014
New Revision: 1559476
URL: http://svn.apache.org/r1559476
Log:
ArchiveInput/Output is parameterized, so must be ArchiveFormat
Modified:
commons/proper/compress/branches/compress-2.0/src/main/java/org/apache/commons/compress2/archivers/ArchiveFormat.java
commons/proper/compress/branches/compress-2.0/src/main/java/org/apache/commons/compress2/archivers/spi/AbstractArchiveFormat.java
Modified: commons/proper/compress/branches/compress-2.0/src/main/java/org/apache/commons/compress2/archivers/ArchiveFormat.java
URL: http://svn.apache.org/viewvc/commons/proper/compress/branches/compress-2.0/src/main/java/org/apache/commons/compress2/archivers/ArchiveFormat.java?rev=1559476&r1=1559475&r2=1559476&view=diff
==============================================================================
--- commons/proper/compress/branches/compress-2.0/src/main/java/org/apache/commons/compress2/archivers/ArchiveFormat.java (original)
+++ commons/proper/compress/branches/compress-2.0/src/main/java/org/apache/commons/compress2/archivers/ArchiveFormat.java Sun Jan 19 06:30:31 2014
@@ -28,7 +28,7 @@ import java.io.IOException;
* Describes a given archive format and works as factory and content-probe at the same time.
* @Immutable
*/
-public interface ArchiveFormat {
+public interface ArchiveFormat<A extends ArchiveEntry> {
/**
* The name by which this format is known.
* @return the name by which this format is known
@@ -91,7 +91,7 @@ public interface ArchiveFormat {
* @throws IOException
* @throws UnsupportedOperationException if this format cannot read from non-seekable channels.
*/
- ArchiveInput readFrom(Channel channel, Charset charset) throws IOException, UnsupportedOperationException;
+ ArchiveInput<A> readFrom(Channel channel, Charset charset) throws IOException, UnsupportedOperationException;
/**
* Reads an archive assuming the given charset for entry names.
* @param file the file to read from
@@ -100,7 +100,7 @@ public interface ArchiveFormat {
*/
// TODO go for SeekableByteChannel rather than File when embracing Java7?
// TODO use Path rather than File?
- ArchiveInput readFrom(File file, Charset charset) throws IOException;
+ ArchiveInput<A> readFrom(File file, Charset charset) throws IOException;
/**
* Provides random access to an archive assuming the given charset for entry names.
* @param file the file to read from
@@ -110,7 +110,7 @@ public interface ArchiveFormat {
*/
// TODO go for SeekableByteChannel rather than File when embracing Java7?
// TODO use Path rather than File?
- RandomAccessArchiveInput readWithRandomAccessFrom(File file, Charset charset)
+ RandomAccessArchiveInput<A> readWithRandomAccessFrom(File file, Charset charset)
throws IOException, UnsupportedOperationException;
/**
@@ -121,7 +121,7 @@ public interface ArchiveFormat {
* @throws UnsupportedOperationException if this format cannot write to non-seekable channels or doesn't support
* writing at all.
*/
- ArchiveOutput writeTo(Channel channel, Charset charset) throws IOException, UnsupportedOperationException;
+ ArchiveOutput<A> writeTo(Channel channel, Charset charset) throws IOException, UnsupportedOperationException;
/**
* Writes an archive using the given charset for entry names.
* @param file the file to write to
@@ -131,5 +131,5 @@ public interface ArchiveFormat {
*/
// TODO go for SeekableByteChannel rather than File when embracing Java7?
// TODO use Path rather than File?
- ArchiveOutput writeTo(File file, Charset charset) throws IOException, UnsupportedOperationException;
+ ArchiveOutput<A> writeTo(File file, Charset charset) throws IOException, UnsupportedOperationException;
}
Modified: commons/proper/compress/branches/compress-2.0/src/main/java/org/apache/commons/compress2/archivers/spi/AbstractArchiveFormat.java
URL: http://svn.apache.org/viewvc/commons/proper/compress/branches/compress-2.0/src/main/java/org/apache/commons/compress2/archivers/spi/AbstractArchiveFormat.java?rev=1559476&r1=1559475&r2=1559476&view=diff
==============================================================================
--- commons/proper/compress/branches/compress-2.0/src/main/java/org/apache/commons/compress2/archivers/spi/AbstractArchiveFormat.java (original)
+++ commons/proper/compress/branches/compress-2.0/src/main/java/org/apache/commons/compress2/archivers/spi/AbstractArchiveFormat.java Sun Jan 19 06:30:31 2014
@@ -27,6 +27,7 @@ import java.nio.channels.Channel;
//import java.nio.channels.FileChannel;
import java.nio.charset.Charset;
import java.util.Collections;
+import org.apache.commons.compress2.archivers.ArchiveEntry;
import org.apache.commons.compress2.archivers.ArchiveFormat;
import org.apache.commons.compress2.archivers.ArchiveInput;
import org.apache.commons.compress2.archivers.ArchiveOutput;
@@ -36,7 +37,7 @@ import org.apache.commons.compress2.arch
* Base class implementations may use.
* @Immutable
*/
-public abstract class AbstractArchiveFormat implements ArchiveFormat {
+public abstract class AbstractArchiveFormat<A extends ArchiveEntry> implements ArchiveFormat<A> {
/**
* {@inheritDoc}
@@ -99,7 +100,7 @@ public abstract class AbstractArchiveFor
* <p>This implementation always throws an UnsupportedOperationException.</p>
*/
@Override
- public ArchiveInput readFrom(Channel channel, Charset charset) throws IOException, UnsupportedOperationException {
+ public ArchiveInput<A> readFrom(Channel channel, Charset charset) throws IOException, UnsupportedOperationException {
throw new UnsupportedOperationException("this format cannot read from non-seekable channels");
}
/**
@@ -108,7 +109,7 @@ public abstract class AbstractArchiveFor
* #readFrom(File, Charset)} otherwise.</p>
*/
@Override
- public ArchiveInput readFrom(File file, Charset charset) throws IOException {
+ public ArchiveInput<A> readFrom(File file, Charset charset) throws IOException {
if (supportsRandomAccessInput()) {
return readWithRandomAccessFrom(file, charset);
}
@@ -121,7 +122,7 @@ public abstract class AbstractArchiveFor
* <p>This implementation always throws an UnsupportedOperationException.</p>
*/
@Override
- public RandomAccessArchiveInput readWithRandomAccessFrom(File file, Charset charset)
+ public RandomAccessArchiveInput<A> readWithRandomAccessFrom(File file, Charset charset)
throws IOException, UnsupportedOperationException {
throw new UnsupportedOperationException("this format cannot doesn't support random access");
}
@@ -131,7 +132,7 @@ public abstract class AbstractArchiveFor
* <p>This implementation always throws an UnsupportedOperationException.</p>
*/
@Override
- public ArchiveOutput writeTo(Channel channel, Charset charset) throws IOException, UnsupportedOperationException {
+ public ArchiveOutput<A> writeTo(Channel channel, Charset charset) throws IOException, UnsupportedOperationException {
throw new UnsupportedOperationException("this format is read-only");
}
/**
@@ -139,7 +140,7 @@ public abstract class AbstractArchiveFor
* <p>This implementation always delegates to {@link #writeTo(Channel, Charset)}.</p>
*/
@Override
- public ArchiveOutput writeTo(File file, Charset charset) throws IOException, UnsupportedOperationException {
+ public ArchiveOutput<A> writeTo(File file, Charset charset) throws IOException, UnsupportedOperationException {
// TODO use FileChannel.open in Java7
return writeTo(new FileOutputStream(file).getChannel(), charset);
}