Author: sebb Date: Mon Mar 30 17:32:27 2009 New Revision: 760062 URL: http://svn.apache.org/viewvc?rev=760062&view=rev Log: Replace specific methods with generic ones Remove code that is provided by the parent class
Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/cpio/CpioArchiveOutputStream.java commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/jar/JarArchiveOutputStream.java commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.java commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/cpio/CpioArchiveOutputStream.java URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/cpio/CpioArchiveOutputStream.java?rev=760062&r1=760061&r2=760062&view=diff ============================================================================== --- commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/cpio/CpioArchiveOutputStream.java (original) +++ commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/cpio/CpioArchiveOutputStream.java Mon Mar 30 17:32:27 2009 @@ -132,13 +132,15 @@ * the default header format will be used if no other format is specified in * the entry. * - * @param e + * @param entry * the CPIO cpioEntry to be written * @throws IOException * if an I/O error has occurred or if a CPIO file error has * occurred + * @throws ClassCastException if entry is not an instance of CpioArchiveEntry */ - public void putNextEntry(final CpioArchiveEntry e) throws IOException { + public void putArchiveEntry(ArchiveEntry entry) throws IOException { + CpioArchiveEntry e = (CpioArchiveEntry) entry; ensureOpen(); if (this.entry != null) { closeArchiveEntry(); // close previous entry @@ -377,23 +379,4 @@ out.write('\0'); } - /* - * (non-Javadoc) - * - * @see - * org.apache.commons.compress.archivers.ArchiveOutputStream#putArchiveEntry - * (org.apache.commons.compress.archivers.ArchiveEntry) - */ - public void putArchiveEntry(ArchiveEntry entry) throws IOException { - this.putNextEntry((CpioArchiveEntry) entry); - } - - /* - * (non-Javadoc) - * - * @see java.io.OutputStream#write(int) - */ - public void write(int b) throws IOException { - out.write(b); - } } Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/jar/JarArchiveOutputStream.java URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/jar/JarArchiveOutputStream.java?rev=760062&r1=760061&r2=760062&view=diff ============================================================================== --- commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/jar/JarArchiveOutputStream.java (original) +++ commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/jar/JarArchiveOutputStream.java Mon Mar 30 17:32:27 2009 @@ -21,6 +21,7 @@ import java.io.IOException; import java.io.OutputStream; +import org.apache.commons.compress.archivers.ArchiveEntry; import org.apache.commons.compress.archivers.zip.JarMarker; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; @@ -40,11 +41,12 @@ super(out); } - public void putNextEntry(ZipArchiveEntry ze) throws IOException { + // @throws ClassCastException if entry is not an instance of ZipArchiveEntry + public void putArchiveEntry(ArchiveEntry ze) throws IOException { if (!jarMarkerAdded) { - ze.addAsFirstExtraField(JarMarker.getInstance()); + ((ZipArchiveEntry)ze).addAsFirstExtraField(JarMarker.getInstance()); jarMarkerAdded = true; } - super.putNextEntry(ze); + super.putArchiveEntry(ze); } } Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.java URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.java?rev=760062&r1=760061&r2=760062&view=diff ============================================================================== --- commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.java (original) +++ commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.java Mon Mar 30 17:32:27 2009 @@ -43,7 +43,6 @@ private long currSize; private String currName; private long currBytes; - private final byte[] oneBuf; private final byte[] recordBuf; private int assemLen; private final byte[] assemBuf; @@ -85,7 +84,6 @@ this.assemLen = 0; this.assemBuf = new byte[recordSize]; this.recordBuf = new byte[recordSize]; - this.oneBuf = new byte[1]; } /** @@ -159,14 +157,16 @@ * header record and positions the output stream for writing * the contents of the entry. Once this method is called, the * stream is ready for calls to write() to write the entry's - * contents. Once the contents are written, closeEntry() + * contents. Once the contents are written, closeArchiveEntry() * <B>MUST</B> be called to ensure that all buffered data * is completely written to the output stream. * - * @param entry The TarEntry to be written to the archive. + * @param archiveEntry The TarEntry to be written to the archive. * @throws IOException on error + * @throws ClassCastException if archiveEntry is not an instance of TarArchiveEntry */ - public void putNextEntry(TarArchiveEntry entry) throws IOException { + public void putArchiveEntry(ArchiveEntry archiveEntry) throws IOException { + TarArchiveEntry entry = (TarArchiveEntry) archiveEntry; if (entry.getName().length() >= TarConstants.NAMELEN) { if (longFileMode == LONGFILE_GNU) { @@ -176,10 +176,10 @@ TarConstants.LF_GNUTYPE_LONGNAME); longLinkEntry.setSize(entry.getName().length() + 1); - putNextEntry(longLinkEntry); + putArchiveEntry(longLinkEntry); write(entry.getName().getBytes()); write(0); - closeEntry(); + closeArchiveEntry(); } else if (longFileMode != LONGFILE_TRUNCATE) { throw new RuntimeException("file name '" + entry.getName() + "' is too long ( > " @@ -210,7 +210,7 @@ * next entry written. * @throws IOException on error */ - public void closeEntry() throws IOException { + public void closeArchiveEntry() throws IOException { if (assemLen > 0) { for (int i = assemLen; i < assemBuf.length; ++i) { assemBuf[i] = 0; @@ -231,32 +231,6 @@ } /** - * Writes a byte to the current tar archive entry. - * - * This method simply calls read( byte[], int, int ). - * - * @param b The byte written. - * @throws IOException on error - */ - public void write(int b) throws IOException { - oneBuf[0] = (byte) b; - - write(oneBuf, 0, 1); - } - - /** - * Writes bytes to the current tar archive entry. - * - * This method simply calls write( byte[], int, int ). - * - * @param wBuf The buffer to write to the archive. - * @throws IOException on error - */ - public void write(byte[] wBuf) throws IOException { - write(wBuf, 0, wBuf.length); - } - - /** * Writes bytes to the current tar archive entry. This method * is aware of the current entry and will throw an exception if * you attempt to write bytes past the length specified for the @@ -354,14 +328,6 @@ // ArchiveOutputStream - public void closeArchiveEntry() throws IOException { - closeEntry(); - } - - public void putArchiveEntry(ArchiveEntry entry) throws IOException { - putNextEntry((TarArchiveEntry) entry); - } - public String getDefaultFileExtension() { return "tar"; } Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java?rev=760062&r1=760061&r2=760062&view=diff ============================================================================== --- commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java (original) +++ commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java Mon Mar 30 17:32:27 2009 @@ -52,7 +52,7 @@ * calculate them yourself. Unfortunately this is not possible for * the {...@link #STORED STORED} method, here setting the CRC and * uncompressed size information is required before {...@link - * #putNextEntry putNextEntry} can be called.</p> + * #putArchiveEntry(ArchiveEntry)} can be called.</p> * @NotThreadSafe */ public class ZipArchiveOutputStream extends ArchiveOutputStream { @@ -268,7 +268,7 @@ * * <p>For seekable streams, you don't need to calculate the CRC or * uncompressed size for {...@link #STORED} entries before - * invoking {...@link #putNextEntry}. + * invoking {...@link #putArchiveEntry(ArchiveEntry)}. * @return true if seekable */ public boolean isSeekable() { @@ -334,7 +334,7 @@ * @throws IOException on error */ public void finish() throws IOException { - closeEntry(); + closeArchiveEntry(); cdOffset = written; for (Iterator i = entries.iterator(); i.hasNext(); ) { writeCentralFileHeader((ZipArchiveEntry) i.next()); @@ -349,7 +349,7 @@ * Writes all necessary data for this entry. * @throws IOException on error */ - public void closeEntry() throws IOException { + public void closeArchiveEntry() throws IOException { if (entry == null) { return; } @@ -410,15 +410,12 @@ entry = null; } - /** - * Begin writing next entry. - * @param ze the entry to write - * @throws IOException on error - */ - public void putNextEntry(ZipArchiveEntry ze) throws IOException { - closeEntry(); + /** {...@inheritdoc} */ + // @throws ClassCastException if entry is not an instance of ZipArchiveEntry + public void putArchiveEntry(ArchiveEntry archiveEntry) throws IOException { + closeArchiveEntry(); - entry = ze; + entry = ((ZipArchiveEntry) archiveEntry); entries.add(entry); if (entry.getMethod() == -1) { // not specified @@ -523,19 +520,6 @@ } /** - * Writes a single byte to ZIP entry. - * - * <p>Delegates to the three arg method.</p> - * @param b the byte to write - * @throws IOException on error - */ - public void write(int b) throws IOException { - byte[] buff = new byte[1]; - buff[0] = (byte) (b & BYTE_MASK); - write(buff, 0, 1); - } - - /** * Closes this output stream and releases any system resources * associated with the stream. * @@ -564,22 +548,6 @@ } } - public void putArchiveEntry(ArchiveEntry entry) throws IOException { - putNextEntry((ZipArchiveEntry) entry); - } - - public void closeArchiveEntry() { - // do nothing - } - - // used to be implemented via FilterOutputStream - /** - * Invokes the {...@link #write(byte[],int,int)} three-arg version. - */ - public void write(byte[] b) throws IOException { - write(b, 0, b.length); - } - /* * Various ZIP constants */