commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From grobme...@apache.org
Subject svn commit: r767804 - /commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java
Date Thu, 23 Apr 2009 05:30:07 GMT
Author: grobmeier
Date: Thu Apr 23 05:30:06 2009
New Revision: 767804

URL: http://svn.apache.org/viewvc?rev=767804&view=rev
Log:
added javadocs

Modified:
    commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java

Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java
URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java?rev=767804&r1=767803&r2=767804&view=diff
==============================================================================
--- commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java
(original)
+++ commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java
Thu Apr 23 05:30:06 2009
@@ -36,18 +36,26 @@
     private final InputStream input;
     private long offset = 0;
     private boolean closed;
+    
     /*
      * If getNextEnxtry has been called, the entry metadata is stored in
      * currentEntry.
      */
     private ArArchiveEntry currentEntry = null;
+    
     /*
      * The offset where the current entry started. -1 if no entry has been
      * called
      */
     private long entryOffset = -1;
 
-    public ArArchiveInputStream( final InputStream pInput ) {
+    /**
+     * Constructs an Ar input stream with the referenced stream
+     * 
+     * @param pInput
+     *            the ar input stream
+     */
+    public ArArchiveInputStream(final InputStream pInput) {
         input = pInput;
         closed = false;
     }
@@ -74,15 +82,18 @@
         }
 
         if (offset == 0) {
-            final byte[] expected = ArchiveUtils.toAsciiBytes(ArArchiveEntry.HEADER);
-            final byte[] realized = new byte[expected.length]; 
+            final byte[] expected = ArchiveUtils
+                    .toAsciiBytes(ArArchiveEntry.HEADER);
+            final byte[] realized = new byte[expected.length];
             final int read = read(realized);
             if (read != expected.length) {
-                throw new IOException("failed to read header. Occured at byte: " + getCount());
+                throw new IOException(
+                        "failed to read header. Occured at byte: " + getCount());
             }
             for (int i = 0; i < expected.length; i++) {
                 if (expected[i] != realized[i]) {
-                    throw new IOException("invalid header " + ArchiveUtils.toAsciiString(realized));
+                    throw new IOException("invalid header "
+                            + ArchiveUtils.toAsciiString(realized));
                 }
             }
         }
@@ -113,37 +124,53 @@
         read(length);
 
         {
-            final byte[] expected = ArchiveUtils.toAsciiBytes(ArArchiveEntry.TRAILER);
-            final byte[] realized = new byte[expected.length]; 
+            final byte[] expected = ArchiveUtils
+                    .toAsciiBytes(ArArchiveEntry.TRAILER);
+            final byte[] realized = new byte[expected.length];
             final int read = read(realized);
             if (read != expected.length) {
-                throw new IOException("failed to read entry header. Occured at byte: " +
getCount());
+                throw new IOException(
+                        "failed to read entry header. Occured at byte: "
+                                + getCount());
             }
             for (int i = 0; i < expected.length; i++) {
                 if (expected[i] != realized[i]) {
-                    throw new IOException("invalid entry header. not read the content? Occured
at byte: " + getCount());
+                    throw new IOException(
+                            "invalid entry header. not read the content? Occured at byte:
"
+                                    + getCount());
                 }
             }
         }
 
         entryOffset = offset;
-        
+
         // SVR4/GNU adds a trailing "/" to names
-        String temp=new String(name).trim(); // TODO is it correct to use the default charset
here?
-        if (temp.endsWith("/")){
-            temp=temp.substring(0, temp.length()-1);
-        }
-        currentEntry = new ArArchiveEntry(temp, // TODO is it correct to use the default
charset here?
-                                          Long.parseLong(new String(length)
-                                                         .trim()));
+        String temp = new String(name).trim(); // TODO is it correct to use the
+        // default charset here?
+        if (temp.endsWith("/")) {
+            temp = temp.substring(0, temp.length() - 1);
+        }
+        currentEntry = new ArArchiveEntry(temp, // TODO is it correct to use the
+                // default charset here?
+                Long.parseLong(new String(length).trim()));
         return currentEntry;
     }
 
-
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * org.apache.commons.compress.archivers.ArchiveInputStream#getNextEntry()
+     */
     public ArchiveEntry getNextEntry() throws IOException {
         return getNextArEntry();
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.io.InputStream#close()
+     */
     public void close() throws IOException {
         if (!closed) {
             closed = true;
@@ -152,6 +179,11 @@
         currentEntry = null;
     }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.io.InputStream#read(byte[], int, int)
+     */
     public int read(byte[] b, final int off, final int len) throws IOException {
         int toRead = len;
         if (currentEntry != null) {
@@ -168,6 +200,16 @@
         return ret;
     }
 
+    /**
+     * Checks if the signature matches ASCII "!<arch>" followed by a single LF
+     * control character
+     * 
+     * @param signature
+     *            the bytes to check
+     * @param length
+     *            the number of bytes to check
+     * @return true, if this stream is an Ar archive stream, false otherwise
+     */
     public static boolean matches(byte[] signature, int length) {
         // 3c21 7261 6863 0a3e
 



Mime
View raw message