This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-compress.git


The following commit(s) were added to refs/heads/master by this push:
     new 4269e250d Javadoc
4269e250d is described below

commit 4269e250df0318e9517ac0616306b279bc5871b7
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Mon Feb 10 09:07:25 2025 -0500

    Javadoc
---
 .../commons/compress/harmony/pack200/Segment.java  | 17 ++++
 .../compress/harmony/unpack200/BcBands.java        |  9 ++-
 .../compress/harmony/unpack200/Segment.java        | 94 ++++++++++++++++++----
 3 files changed, 102 insertions(+), 18 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/compress/harmony/pack200/Segment.java 
b/src/main/java/org/apache/commons/compress/harmony/pack200/Segment.java
index 80a79cf2d..0ddd07591 100644
--- a/src/main/java/org/apache/commons/compress/harmony/pack200/Segment.java
+++ b/src/main/java/org/apache/commons/compress/harmony/pack200/Segment.java
@@ -39,6 +39,23 @@
 
 /**
  * A Pack200 archive consists of one or more Segments.
+ * <p>
+ * Format:
+ * </p>
+ * <pre>
+ *   pack200_archive:
+ *      (pack200_segment)+
+ *      
+ *   pack200_segment:
+ *      segment_header
+ *      *band_headers :BYTE1
+ *      cp_bands
+ *      attr_definition_bands
+ *      ic_bands
+ *      class_bands
+ *      bc_bands
+ *      file_bands
+ * </pre>
  */
 public class Segment extends ClassVisitor {
 
diff --git 
a/src/main/java/org/apache/commons/compress/harmony/unpack200/BcBands.java 
b/src/main/java/org/apache/commons/compress/harmony/unpack200/BcBands.java
index e2375111a..67927e193 100644
--- a/src/main/java/org/apache/commons/compress/harmony/unpack200/BcBands.java
+++ b/src/main/java/org/apache/commons/compress/harmony/unpack200/BcBands.java
@@ -37,12 +37,11 @@
 import org.apache.commons.compress.harmony.unpack200.bytecode.OperandManager;
 
 /**
- * Bytecode bands
+ * Bytecode bands.
  */
 public class BcBands extends BandSet {
 
-    // The bytecodes for each method in each class as they come (i.e. in their
-    // packed format)
+    /** The bytecodes for each method in each class as they come (i.e. in 
their packed format). */
     private byte[][][] methodByteCodePacked;
 
     // The bands
@@ -75,7 +74,9 @@ public class BcBands extends BandSet {
     private List<Integer> wideByteCodes;
 
     /**
-     * @param segment TODO
+     * Constructs a new instance for the given segment.
+     *
+     * @param segment The segment.
      */
     public BcBands(final Segment segment) {
         super(segment);
diff --git 
a/src/main/java/org/apache/commons/compress/harmony/unpack200/Segment.java 
b/src/main/java/org/apache/commons/compress/harmony/unpack200/Segment.java
index 3d502d808..55d417d95 100644
--- a/src/main/java/org/apache/commons/compress/harmony/unpack200/Segment.java
+++ b/src/main/java/org/apache/commons/compress/harmony/unpack200/Segment.java
@@ -57,21 +57,49 @@
  * A Pack200 archive consists of one or more segments. Each segment is 
stand-alone, in the sense that every segment has the magic number header; thus, 
every
  * segment is also a valid archive. However, it is possible to combine 
(non-GZipped) archives into a single large archive by concatenation alone. 
Thus, all the
  * hard work in unpacking an archive falls to understanding a segment.
- *
+ * <p>
  * The first component of a segment is the header; this contains (amongst 
other things) the expected counts of constant pool entries, which in turn 
defines how
  * many values need to be read from the stream. Because values are variable 
width (see {@link Codec}), it is not possible to calculate the start of the next
  * segment, although one of the header values does hint at the size of the 
segment if non-zero, which can be used for buffering purposes.
- *
+ * </p>
+ * <p>
  * Note that this does not perform any buffering of the input stream; each 
value will be read on a byte-by-byte basis. It does not perform GZip 
decompression
  * automatically; both of these are expected to be done by the caller if the 
stream has the magic header for GZip streams ({@link 
GZIPInputStream#GZIP_MAGIC}).
  * In any case, if GZip decompression is being performed the input stream will 
be buffered at a higher level, and thus this can read on a byte-oriented basis.
+ * </p>
+ * <p>
+ * Format:
+ * </p>
+ * <pre>
+ *   pack200_archive:
+ *      (pack200_segment)+
+ *      
+ *   pack200_segment:
+ *      segment_header
+ *      *band_headers :BYTE1
+ *      cp_bands
+ *      attr_definition_bands
+ *      ic_bands
+ *      class_bands
+ *      bc_bands
+ *      file_bands
+ * </pre>
  */
 public class Segment {
 
+    /**
+     * Log level verbose {@value}
+     */
     public static final int LOG_LEVEL_VERBOSE = 2;
 
+    /**
+     * Log level standard {@value}
+     */
     public static final int LOG_LEVEL_STANDARD = 1;
 
+    /**
+     * Log level quiet {@value}
+     */
     public static final int LOG_LEVEL_QUIET = 0;
 
     private SegmentHeader header;
@@ -96,7 +124,7 @@ public class Segment {
 
     private int logLevel;
 
-    private PrintWriter logStream;
+    private PrintWriter logPrintWriter;
 
     private byte[][] classFilesContents;
 
@@ -332,30 +360,56 @@ protected ClassBands getClassBands() {
         return classBands;
     }
 
+    /**
+     * Gets the constant pool.
+     *
+     * @return the constant pool.
+     */
     public SegmentConstantPool getConstantPool() {
         return cpBands.getConstantPool();
     }
 
+    /**
+     * Gets the constant pool bands.
+     *
+     * @return the constant pool bands.
+     */
     protected CpBands getCpBands() {
         return cpBands;
     }
 
+    /**
+     * Gets the inner class bands.
+     *
+     * @return the inner class bands.
+     */
     protected IcBands getIcBands() {
         return icBands;
     }
 
+    /**
+     * Gets the segment header.
+     *
+     * @return the segment header.
+     */
     public SegmentHeader getSegmentHeader() {
         return header;
     }
 
-    public void log(final int logLevel, final String message) {
-        if (this.logLevel >= logLevel) {
-            logStream.println(message);
+    /**
+     * Logs a message.
+     *
+     * @param messageLevel the message level.
+     * @param message the message.
+     */
+    public void log(final int messageLevel, final String message) {
+        if (logLevel >= messageLevel) {
+            logPrintWriter.println(message);
         }
     }
 
     /**
-     * Override the archive's deflate hint with the given boolean
+     * Overrides the archive's deflate hint with the given boolean
      *
      * @param deflateHint the deflate hint to use
      */
@@ -365,7 +419,7 @@ public void overrideDeflateHint(final boolean deflateHint) {
     }
 
     /**
-     * This performs the actual work of parsing against a non-static instance 
of Segment. This method is intended to run concurrently for multiple segments.
+     * Performs the actual work of parsing against a non-static instance of 
Segment. This method is intended to run concurrently for multiple segments.
      *
      * @throws IOException      if a problem occurs during reading from the 
underlying stream
      * @throws Pack200Exception if a problem occurs with an unexpected value 
or unsupported codec
@@ -449,14 +503,29 @@ private void readSegment(final InputStream in) throws 
IOException, Pack200Except
         fileBands.processFileBits();
     }
 
+    /**
+     * Sets the log level.
+     *
+     * @param logLevel the log level.
+     */
     public void setLogLevel(final int logLevel) {
         this.logLevel = logLevel;
     }
 
+    /**
+     * Sets the log output.
+     *
+     * @param logStream log output.
+     */
     public void setLogStream(final OutputStream logStream) {
-        this.logStream = new PrintWriter(new OutputStreamWriter(logStream, 
Charset.defaultCharset()), false);
+        this.logPrintWriter = new PrintWriter(new 
OutputStreamWriter(logStream, Charset.defaultCharset()), false);
     }
 
+    /**
+     * Sets whether unpacking buffers its input.
+     *
+     * @param value whether unpacking buffers its input.
+     */
     public void setPreRead(final boolean value) {
         doPreRead = value;
     }
@@ -482,9 +551,6 @@ void unpackProcess() throws IOException, Pack200Exception {
         parseSegment();
     }
 
-    /*
-     * Package-private accessors for unpacking stages
-     */
     void unpackRead(final InputStream inputStream) throws IOException, 
Pack200Exception {
         @SuppressWarnings("resource")
         final InputStream in = 
Pack200UnpackerAdapter.newBoundedInputStream(inputStream);
@@ -505,8 +571,8 @@ void unpackRead(final InputStream inputStream) throws 
IOException, Pack200Except
 
     void unpackWrite(final JarOutputStream out) throws IOException {
         writeJar(out);
-        if (logStream != null) {
-            logStream.close();
+        if (logPrintWriter != null) {
+            logPrintWriter.close();
         }
     }
 

Reply via email to