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