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() {


Reply via email to