You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by da...@apache.org on 2013/10/22 21:35:03 UTC

svn commit: r1534749 - in /commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg: decoder/JpegDecoder.java segments/SosSegment.java

Author: damjan
Date: Tue Oct 22 19:35:03 2013
New Revision: 1534749

URL: http://svn.apache.org/r1534749
Log:
Some more public mutable array encapsulation.

Jira issue key: IMAGING-117


Modified:
    commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegDecoder.java
    commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/segments/SosSegment.java

Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegDecoder.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegDecoder.java?rev=1534749&r1=1534748&r2=1534749&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegDecoder.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/decoder/JpegDecoder.java Tue Oct 22 19:35:03 2013
@@ -265,7 +265,7 @@ public class JpegDecoder extends BinaryF
     private Block[] allocateMCUMemory() throws ImageReadException {
         final Block[] mcu = new Block[sosSegment.numberOfComponents];
         for (int i = 0; i < sosSegment.numberOfComponents; i++) {
-            final SosSegment.Component scanComponent = sosSegment.components[i];
+            final SosSegment.Component scanComponent = sosSegment.getComponents(i);
             SofnSegment.Component frameComponent = null;
             for (int j = 0; j < sofnSegment.numberOfComponents; j++) {
                 if (sofnSegment.getComponents(j).componentIdentifier == scanComponent.scanComponentSelector) {
@@ -291,7 +291,7 @@ public class JpegDecoder extends BinaryF
     private void readMCU(final JpegInputStream is, final int[] preds, final Block[] mcu)
             throws IOException, ImageReadException {
         for (int i = 0; i < sosSegment.numberOfComponents; i++) {
-            final SosSegment.Component scanComponent = sosSegment.components[i];
+            final SosSegment.Component scanComponent = sosSegment.getComponents(i);
             SofnSegment.Component frameComponent = null;
             for (int j = 0; j < sofnSegment.numberOfComponents; j++) {
                 if (sofnSegment.getComponents(j).componentIdentifier == scanComponent.scanComponentSelector) {

Modified: commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/segments/SosSegment.java
URL: http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/segments/SosSegment.java?rev=1534749&r1=1534748&r2=1534749&view=diff
==============================================================================
--- commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/segments/SosSegment.java (original)
+++ commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/jpeg/segments/SosSegment.java Tue Oct 22 19:35:03 2013
@@ -22,7 +22,7 @@ import java.io.InputStream;
 
 public class SosSegment extends Segment {
     public final int numberOfComponents;
-    public final Component[] components;
+    private final Component[] components;
     public final int startOfSpectralSelection;
     public final int endOfSpectralSelection;
     public final int successiveApproximationBitHigh;
@@ -96,6 +96,23 @@ public class SosSegment extends Segment 
             System.out.println("");
         }
     }
+    
+    /**
+     * Returns a copy of all the components.
+     * @return all the components
+     */
+    public Component[] getComponents() {
+        return components.clone();
+    }
+    
+    /**
+     * Return a component at the specified index.
+     * @param index the component index
+     * @return the component
+     */
+    public Component getComponents(final int index) {
+        return components[index];
+    }
 
     @Override
     public String getDescription() {