First stab at generifying the API
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk@1221504 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
index c36f889..fcaa0fc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -61,8 +61,8 @@
</prerequisites>
<properties>
- <maven.compile.source>1.4</maven.compile.source>
- <maven.compile.target>1.4</maven.compile.target>
+ <maven.compile.source>1.5</maven.compile.source>
+ <maven.compile.target>1.5</maven.compile.target>
<commons.componentid>sanselan</commons.componentid>
<commons.release.version>0.98</commons.release.version>
<commons.jira.id>SANSELAN</commons.jira.id>
diff --git a/src/main/java/org/apache/commons/sanselan/FormatCompliance.java b/src/main/java/org/apache/commons/sanselan/FormatCompliance.java
index 7ae9ac9..230ca17 100644
--- a/src/main/java/org/apache/commons/sanselan/FormatCompliance.java
+++ b/src/main/java/org/apache/commons/sanselan/FormatCompliance.java
@@ -26,7 +26,7 @@
{
private final boolean failOnError;
private final String description;
- private final List comments = new ArrayList();
+ private final List<String> comments = new ArrayList<String>();
public FormatCompliance(String description)
{
diff --git a/src/main/java/org/apache/commons/sanselan/ImageInfo.java b/src/main/java/org/apache/commons/sanselan/ImageInfo.java
index 0d83385..11fa62b 100644
--- a/src/main/java/org/apache/commons/sanselan/ImageInfo.java
+++ b/src/main/java/org/apache/commons/sanselan/ImageInfo.java
@@ -30,7 +30,7 @@
private final String formatDetails; // ie version
private final int bitsPerPixel;
- private final List comments;
+ private final List<String> comments;
private final ImageFormat format;
private final String formatName;
@@ -72,7 +72,7 @@
private final String compressionAlgorithm;
public ImageInfo(String formatDetails, int bitsPerPixel,
- List comments, ImageFormat format, String formatName,
+ List<String> comments, ImageFormat format, String formatName,
int height, String mimeType, int numberOfImages,
int physicalHeightDpi, float physicalHeightInch,
int physicalWidthDpi, float physicalWidthInch, int width,
@@ -116,9 +116,9 @@
* Returns a list of comments from the image file. <p/> This is mostly
* obsolete.
*/
- public List getComments()
+ public List<String> getComments()
{
- return new ArrayList(comments);
+ return new ArrayList<String>(comments);
}
/**
@@ -317,7 +317,7 @@
pw.println("Comments: " + comments.size());
for (int i = 0; i < comments.size(); i++)
{
- String s = (String) comments.get(i);
+ String s = comments.get(i);
pw.println("\t" + i + ": '" + s + "'");
}
diff --git a/src/main/java/org/apache/commons/sanselan/ImageParser.java b/src/main/java/org/apache/commons/sanselan/ImageParser.java
index 772e772..48c5ca0 100644
--- a/src/main/java/org/apache/commons/sanselan/ImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/ImageParser.java
@@ -159,25 +159,25 @@
return getFormatCompliance(new ByteSourceFile(file));
}
- public List getAllBufferedImages(ByteSource byteSource)
+ public List<BufferedImage> getAllBufferedImages(ByteSource byteSource)
throws ImageReadException, IOException
{
BufferedImage bi = getBufferedImage(byteSource, null);
- List result = new ArrayList();
+ List<BufferedImage> result = new ArrayList<BufferedImage>();
result.add(bi);
return result;
}
- public final List getAllBufferedImages(byte bytes[])
+ public final List<BufferedImage> getAllBufferedImages(byte bytes[])
throws ImageReadException, IOException
{
return getAllBufferedImages(new ByteSourceArray(bytes));
}
- public final List getAllBufferedImages(File file)
+ public final List<BufferedImage> getAllBufferedImages(File file)
throws ImageReadException, IOException
{
if (!canAcceptExtension(file))
diff --git a/src/main/java/org/apache/commons/sanselan/Sanselan.java b/src/main/java/org/apache/commons/sanselan/Sanselan.java
index 279b7ef..f95a73b 100644
--- a/src/main/java/org/apache/commons/sanselan/Sanselan.java
+++ b/src/main/java/org/apache/commons/sanselan/Sanselan.java
@@ -1073,7 +1073,7 @@
* Filename associated with image data (optional).
* @return A vector of BufferedImages.
*/
- public static List getAllBufferedImages(InputStream is, String filename)
+ public static List<BufferedImage> getAllBufferedImages(InputStream is, String filename)
throws ImageReadException, IOException {
return getAllBufferedImages(new ByteSourceInputStream(is, filename));
}
@@ -1089,7 +1089,7 @@
* Byte array containing an image file.
* @return A vector of BufferedImages.
*/
- public static List getAllBufferedImages(byte bytes[])
+ public static List<BufferedImage> getAllBufferedImages(byte bytes[])
throws ImageReadException, IOException {
return getAllBufferedImages(new ByteSourceArray(bytes));
}
@@ -1105,12 +1105,12 @@
* File containing image data.
* @return A vector of BufferedImages.
*/
- public static List getAllBufferedImages(File file)
+ public static List<BufferedImage> getAllBufferedImages(File file)
throws ImageReadException, IOException {
return getAllBufferedImages(new ByteSourceFile(file));
}
- private static List getAllBufferedImages(ByteSource byteSource)
+ private static List<BufferedImage> getAllBufferedImages(ByteSource byteSource)
throws ImageReadException, IOException {
ImageParser imageParser = getImageParser(byteSource);
diff --git a/src/main/java/org/apache/commons/sanselan/common/BasicCParser.java b/src/main/java/org/apache/commons/sanselan/common/BasicCParser.java
index 33c2e86..75d48e9 100644
--- a/src/main/java/org/apache/commons/sanselan/common/BasicCParser.java
+++ b/src/main/java/org/apache/commons/sanselan/common/BasicCParser.java
@@ -112,7 +112,7 @@
}
public static ByteArrayOutputStream preprocess(InputStream is,
- StringBuilder firstComment, Map defines)
+ StringBuilder firstComment, Map<String, String> defines)
throws IOException, ImageReadException
{
boolean inString = false;
diff --git a/src/main/java/org/apache/commons/sanselan/common/IImageMetadata.java b/src/main/java/org/apache/commons/sanselan/common/IImageMetadata.java
index d7dc9ae..0ede174 100644
--- a/src/main/java/org/apache/commons/sanselan/common/IImageMetadata.java
+++ b/src/main/java/org/apache/commons/sanselan/common/IImageMetadata.java
@@ -22,7 +22,7 @@
{
public String toString(String prefix);
- public List getItems();
+ public List<? extends IImageMetadataItem> getItems();
public interface IImageMetadataItem
{
diff --git a/src/main/java/org/apache/commons/sanselan/common/ImageMetadata.java b/src/main/java/org/apache/commons/sanselan/common/ImageMetadata.java
index 2747753..87c9a79 100644
--- a/src/main/java/org/apache/commons/sanselan/common/ImageMetadata.java
+++ b/src/main/java/org/apache/commons/sanselan/common/ImageMetadata.java
@@ -21,8 +21,7 @@
public class ImageMetadata implements IImageMetadata
{
-
- private final List items = new ArrayList();
+ private final List<IImageMetadataItem> items = new ArrayList<IImageMetadataItem>();
public void add(String keyword, String text)
{
@@ -34,13 +33,12 @@
items.add(item);
}
- public List getItems()
+ public List<? extends IImageMetadataItem> getItems()
{
- return new ArrayList(items);
+ return new ArrayList<IImageMetadataItem>(items);
}
- protected static final String newline = System
- .getProperty("line.separator");
+ protected static final String newline = System.getProperty("line.separator");
public String toString()
{
@@ -60,7 +58,7 @@
// if (null != prefix)
// result.append(prefix);
- ImageMetadata.IImageMetadataItem item = (ImageMetadata.IImageMetadataItem) items
+ ImageMetadata.IImageMetadataItem item = items
.get(i);
result.append(item.toString(prefix + "\t"));
diff --git a/src/main/java/org/apache/commons/sanselan/common/itu_t4/HuffmanTree.java b/src/main/java/org/apache/commons/sanselan/common/itu_t4/HuffmanTree.java
index 3ae171d..84f4874 100644
--- a/src/main/java/org/apache/commons/sanselan/common/itu_t4/HuffmanTree.java
+++ b/src/main/java/org/apache/commons/sanselan/common/itu_t4/HuffmanTree.java
@@ -30,7 +30,7 @@
boolean isEmpty = true;
Object value = null;
}
- private List nodes = new ArrayList();
+ private List<Node> nodes = new ArrayList<Node>();
public final void insert(String pattern, Object value) throws HuffmanTreeException {
int position = 0;
@@ -57,14 +57,14 @@
while (position >= nodes.size()) {
nodes.add(new Node());
}
- Node node = (Node) nodes.get(position);
+ Node node = nodes.get(position);
node.isEmpty = false;
return node;
}
public final Object decode(BitInputStreamFlexible bitStream) throws HuffmanTreeException {
int position = 0;
- Node node = (Node) nodes.get(0);
+ Node node = nodes.get(0);
while (node.value == null) {
int nextBit;
try {
@@ -80,7 +80,7 @@
if (position >= nodes.size()) {
throw new HuffmanTreeException("Invalid bit pattern");
}
- node = (Node) nodes.get(position);
+ node = nodes.get(position);
if (node.isEmpty) {
throw new HuffmanTreeException("Invalid bit pattern");
}
diff --git a/src/main/java/org/apache/commons/sanselan/common/mylzw/MyLzwCompressor.java b/src/main/java/org/apache/commons/sanselan/common/mylzw/MyLzwCompressor.java
index 4481bec..35a014a 100644
--- a/src/main/java/org/apache/commons/sanselan/common/mylzw/MyLzwCompressor.java
+++ b/src/main/java/org/apache/commons/sanselan/common/mylzw/MyLzwCompressor.java
@@ -60,7 +60,7 @@
InitializeStringTable();
}
- private final Map map = new HashMap();
+ private final Map<Object, Integer> map = new HashMap<Object, Integer>();
private final void InitializeStringTable()
{
diff --git a/src/main/java/org/apache/commons/sanselan/formats/bmp/BmpImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/bmp/BmpImageParser.java
index 7908439..855761e 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/bmp/BmpImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/bmp/BmpImageParser.java
@@ -607,7 +607,7 @@
int height = bhi.height;
int width = bhi.width;
- List comments = new ArrayList();
+ List<String> comments = new ArrayList<String>();
// TODO: comments...
int bitsPerPixel = bhi.bitsPerPixel;
diff --git a/src/main/java/org/apache/commons/sanselan/formats/dcx/DcxImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/dcx/DcxImageParser.java
index 2d69d17..a511b37 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/dcx/DcxImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/dcx/DcxImageParser.java
@@ -139,7 +139,7 @@
{
is = byteSource.getInputStream();
int id = read4Bytes("Id", is, "Not a Valid DCX File");
- List pageTable = new ArrayList(1024);
+ List<Integer> pageTable = new ArrayList<Integer>(1024);
for (int i = 0; i < 1024; i++)
{
int pageOffset = read4Bytes("PageTable", is, "Not a Valid DCX File");
@@ -185,17 +185,17 @@
public final BufferedImage getBufferedImage(ByteSource byteSource,
Map params) throws ImageReadException, IOException
{
- List list = getAllBufferedImages(byteSource);
+ List<BufferedImage> list = getAllBufferedImages(byteSource);
if (list.isEmpty())
return null;
- return (BufferedImage) list.get(0);
+ return list.get(0);
}
- public List getAllBufferedImages(ByteSource byteSource)
+ public List<BufferedImage> getAllBufferedImages(ByteSource byteSource)
throws ImageReadException, IOException
{
DcxHeader dcxHeader = readDcxHeader(byteSource);
- List images = new ArrayList();
+ List<BufferedImage> images = new ArrayList<BufferedImage>();
PcxImageParser pcxImageParser = new PcxImageParser();
for (int i = 0; i < dcxHeader.pageTable.length; i++)
{
diff --git a/src/main/java/org/apache/commons/sanselan/formats/gif/GenericGifBlock.java b/src/main/java/org/apache/commons/sanselan/formats/gif/GenericGifBlock.java
index 780c8fe..c6460a5 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/gif/GenericGifBlock.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/gif/GenericGifBlock.java
@@ -22,9 +22,9 @@
class GenericGifBlock extends GifBlock
{
- public final List subblocks;
+ public final List<byte[]> subblocks;
- public GenericGifBlock(int blockCode, List subblocks)
+ public GenericGifBlock(int blockCode, List<byte[]> subblocks)
{
super(blockCode);
@@ -43,7 +43,7 @@
for (int i = 0; i < subblocks.size(); i++)
{
- byte subblock[] = (byte[]) subblocks.get(i);
+ byte subblock[] = subblocks.get(i);
if(includeLengths && i>0)
out.write(subblock.length);
out.write(subblock);
diff --git a/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java
index 09ffac2..aa2a72a 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java
@@ -202,7 +202,7 @@
protected GenericGifBlock readGenericGIFBlock(InputStream is, int code,
byte first[]) throws IOException
{
- List subblocks = new ArrayList();
+ List<byte[]> subblocks = new ArrayList<byte[]>();
if (first != null)
subblocks.add(first);
@@ -229,11 +229,11 @@
private final static int XMP_COMPLETE_CODE = (EXTENSION_CODE << 8)
| XMP_EXTENSION;
- private List readBlocks(GifHeaderInfo ghi, InputStream is,
- boolean stopBeforeImageData, FormatCompliance formatCompliance)
+ private List<GifBlock> readBlocks(GifHeaderInfo ghi, InputStream is,
+ boolean stopBeforeImageData, FormatCompliance formatCompliance)
throws ImageReadException, IOException
{
- List result = new ArrayList();
+ List<GifBlock> result = new ArrayList<GifBlock>();
while (true)
{
@@ -456,11 +456,11 @@
}
}
- private GifBlock findBlock(List v, int code)
+ private GifBlock findBlock(List<GifBlock> v, int code)
{
for (int i = 0; i < v.size(); i++)
{
- GifBlock gifBlock = (GifBlock) v.get(i);
+ GifBlock gifBlock = v.get(i);
if (gifBlock.blockCode == code)
return gifBlock;
}
@@ -490,7 +490,7 @@
globalColorTable = readColorTable(is,
ghi.sizeOfGlobalColorTable, formatCompliance);
- List blocks = readBlocks(ghi, is, stopBeforeImageData, formatCompliance);
+ List<GifBlock> blocks = readBlocks(ghi, is, stopBeforeImageData, formatCompliance);
ImageContents result = new ImageContents(ghi, globalColorTable, blocks);
@@ -553,14 +553,14 @@
return null;
}
- private List getComments(List v) throws IOException
+ private List<String> getComments(List<GifBlock> v) throws IOException
{
- List result = new ArrayList();
+ List<String> result = new ArrayList<String>();
int code = 0x21fe;
for (int i = 0; i < v.size(); i++)
{
- GifBlock block = (GifBlock) v.get(i);
+ GifBlock block = v.get(i);
if (block.blockCode == code)
{
byte bytes[] = ((GenericGifBlock) block).appendSubBlocks();
@@ -596,7 +596,7 @@
int height = id.imageWidth;
int width = id.imageHeight;
- List Comments;
+ List<String> Comments;
Comments = getComments(blocks.blocks);
@@ -656,7 +656,7 @@
pw.println("gif.blocks: " + blocks.blocks.size());
for (int i = 0; i < blocks.blocks.size(); i++)
{
- GifBlock gifBlock = (GifBlock) blocks.blocks.get(i);
+ GifBlock gifBlock = blocks.blocks.get(i);
this.debugNumber(pw, "\t" + i + " ("
+ gifBlock.getClass().getName() + ")",
gifBlock.blockCode, 4);
@@ -1113,12 +1113,12 @@
if (ghi.globalColorTableFlag)
readColorTable(is, ghi.sizeOfGlobalColorTable, formatCompliance);
- List blocks = readBlocks(ghi, is, true, formatCompliance);
+ List<GifBlock> blocks = readBlocks(ghi, is, true, formatCompliance);
- List result = new ArrayList();
+ List<String> result = new ArrayList<String>();
for (int i = 0; i < blocks.size(); i++)
{
- GifBlock block = (GifBlock) blocks.get(i);
+ GifBlock block = blocks.get(i);
if (block.blockCode != XMP_COMPLETE_CODE)
continue;
@@ -1166,7 +1166,7 @@
return null;
if (result.size() > 1)
throw new ImageReadException("More than one XMP Block in GIF.");
- return (String) result.get(0);
+ return result.get(0);
} finally
{
diff --git a/src/main/java/org/apache/commons/sanselan/formats/gif/ImageContents.java b/src/main/java/org/apache/commons/sanselan/formats/gif/ImageContents.java
index a97ba5a..72be276 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/gif/ImageContents.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/gif/ImageContents.java
@@ -22,10 +22,10 @@
{
public final GifHeaderInfo gifHeaderInfo;
- public final List blocks;
+ public final List<GifBlock> blocks;
public final byte globalColorTable[];
- public ImageContents(GifHeaderInfo gifHeaderInfo, byte globalColorTable[], List blocks)
+ public ImageContents(GifHeaderInfo gifHeaderInfo, byte globalColorTable[], List<GifBlock> blocks)
{
this.gifHeaderInfo = gifHeaderInfo;
this.globalColorTable = globalColorTable;
diff --git a/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsDecoder.java b/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsDecoder.java
index 8e156bc..fded579 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsDecoder.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsDecoder.java
@@ -428,10 +428,10 @@
}
}
- public static List decodeAllImages(IcnsImageParser.IcnsElement[] icnsElements)
+ public static List<BufferedImage> decodeAllImages(IcnsImageParser.IcnsElement[] icnsElements)
throws ImageReadException
{
- List result = new ArrayList();
+ List<BufferedImage> result = new ArrayList<BufferedImage>();
for (int i = 0; i < icnsElements.length; i++)
{
IcnsImageParser.IcnsElement imageElement = icnsElements[i];
diff --git a/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsImageParser.java
index 0c3be5a..c47d1fa 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsImageParser.java
@@ -106,11 +106,11 @@
}
IcnsContents contents = readImage(byteSource);
- List images = IcnsDecoder.decodeAllImages(contents.icnsElements);
+ List<BufferedImage> images = IcnsDecoder.decodeAllImages(contents.icnsElements);
if (images.isEmpty())
throw new ImageReadException("No icons in ICNS file");
- BufferedImage image0 = (BufferedImage) images.get(0);
- return new ImageInfo("Icns", 32, new ArrayList(), ImageFormat.IMAGE_FORMAT_ICNS,
+ BufferedImage image0 = images.get(0);
+ return new ImageInfo("Icns", 32, new ArrayList<String>(), ImageFormat.IMAGE_FORMAT_ICNS,
"ICNS Apple Icon Image", image0.getHeight(), "image/x-icns", images.size(),
0, 0, 0, 0, image0.getWidth(), false, true, false, ImageInfo.COLOR_TYPE_RGB,
ImageInfo.COMPRESSION_ALGORITHM_UNKNOWN);
@@ -136,10 +136,10 @@
}
IcnsContents contents = readImage(byteSource);
- List images = IcnsDecoder.decodeAllImages(contents.icnsElements);
+ List<BufferedImage> images = IcnsDecoder.decodeAllImages(contents.icnsElements);
if (images.isEmpty())
throw new ImageReadException("No icons in ICNS file");
- BufferedImage image0 = (BufferedImage) images.get(0);
+ BufferedImage image0 = images.get(0);
return new Dimension(image0.getWidth(), image0.getHeight());
}
@@ -246,7 +246,7 @@
is = byteSource.getInputStream();
IcnsHeader icnsHeader = readIcnsHeader(is);
- List icnsElementList = new ArrayList();
+ List<IcnsElement> icnsElementList = new ArrayList<IcnsElement>();
for (int remainingSize = icnsHeader.fileSize - 8;
remainingSize > 0; )
{
@@ -257,7 +257,7 @@
IcnsElement[] icnsElements = new IcnsElement[icnsElementList.size()];
for (int i = 0; i < icnsElements.length; i++)
- icnsElements[i] = (IcnsElement) icnsElementList.get(i);
+ icnsElements[i] = icnsElementList.get(i);
return new IcnsContents(icnsHeader, icnsElements);
}
@@ -288,14 +288,14 @@
Map params) throws ImageReadException, IOException
{
IcnsContents icnsContents = readImage(byteSource);
- List result = IcnsDecoder.decodeAllImages(icnsContents.icnsElements);
+ List<BufferedImage> result = IcnsDecoder.decodeAllImages(icnsContents.icnsElements);
if (result.size() > 0)
- return (BufferedImage) result.get(0);
+ return result.get(0);
else
throw new ImageReadException("No icons in ICNS file");
}
- public List getAllBufferedImages(ByteSource byteSource)
+ public List<BufferedImage> getAllBufferedImages(ByteSource byteSource)
throws ImageReadException, IOException
{
IcnsContents icnsContents = readImage(byteSource);
diff --git a/src/main/java/org/apache/commons/sanselan/formats/ico/IcoImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/ico/IcoImageParser.java
index ec5ce5f..d222a6e 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/ico/IcoImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/ico/IcoImageParser.java
@@ -562,10 +562,10 @@
throw new ImageReadException("No icons in ICO file");
}
- public List getAllBufferedImages(ByteSource byteSource)
+ public List<BufferedImage> getAllBufferedImages(ByteSource byteSource)
throws ImageReadException, IOException
{
- List result = new ArrayList();
+ List<BufferedImage> result = new ArrayList<BufferedImage>();
ImageContents contents = readImage(byteSource);
FileHeader fileHeader = contents.fileHeader;
diff --git a/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageMetadata.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageMetadata.java
index aaecb47..add4664 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageMetadata.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageMetadata.java
@@ -165,7 +165,7 @@
}
public List getItems() {
- List result = new ArrayList();
+ List<Object> result = new ArrayList<Object>();
if (null != exif)
result.addAll(exif.getItems());
diff --git a/src/main/java/org/apache/commons/sanselan/formats/jpeg/decoder/JpegDecoder.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/decoder/JpegDecoder.java
index d320c89..e0eaee4 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/jpeg/decoder/JpegDecoder.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/decoder/JpegDecoder.java
@@ -209,8 +209,7 @@
DqtSegment dqtSegment = new DqtSegment(marker, segmentData);
for (int i = 0; i < dqtSegment.quantizationTables.size(); i++)
{
- DqtSegment.QuantizationTable table = (DqtSegment.QuantizationTable)
- dqtSegment.quantizationTables.get(i);
+ DqtSegment.QuantizationTable table = dqtSegment.quantizationTables.get(i);
if (0 > table.destinationIdentifier ||
table.destinationIdentifier >= quantizationTables.length)
throw new ImageReadException("Invalid quantization table identifier " +
@@ -231,8 +230,7 @@
DhtSegment dhtSegment = new DhtSegment(marker, segmentData);
for (int i = 0; i < dhtSegment.huffmanTables.size(); i++)
{
- DhtSegment.HuffmanTable table = (DhtSegment.HuffmanTable)
- dhtSegment.huffmanTables.get(i);
+ DhtSegment.HuffmanTable table = dhtSegment.huffmanTables.get(i);
DhtSegment.HuffmanTable[] tables;
if (table.tableClass == 0)
tables = huffmanDCTables;
diff --git a/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcTypeLookup.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcTypeLookup.java
index 50e0329..56ad1a5 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcTypeLookup.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcTypeLookup.java
@@ -22,7 +22,7 @@
public abstract class IptcTypeLookup implements IptcConstants
{
- private static final Map IPTC_TYPE_MAP = new HashMap();
+ private static final Map<Integer, IptcType> IPTC_TYPE_MAP = new HashMap<Integer, IptcType>();
static
{
for (int i = 0; i < IPTC_TYPES.length; i++)
@@ -38,6 +38,6 @@
Integer key = new Integer(type);
if (!IPTC_TYPE_MAP.containsKey(key))
return IptcType.getUnknown(type);
- return (IptcType) IPTC_TYPE_MAP.get(key);
+ return IPTC_TYPE_MAP.get(key);
}
}
\ No newline at end of file
diff --git a/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/DhtSegment.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/DhtSegment.java
index 763f48e..b1444e1 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/DhtSegment.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/DhtSegment.java
@@ -23,7 +23,7 @@
public class DhtSegment extends Segment
{
- public final List huffmanTables = new ArrayList();
+ public final List<HuffmanTable> huffmanTables = new ArrayList<HuffmanTable>();
public static class HuffmanTable
{
diff --git a/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/DqtSegment.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/DqtSegment.java
index d1ed15b..734ac3c 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/DqtSegment.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/DqtSegment.java
@@ -25,7 +25,7 @@
public class DqtSegment extends Segment
{
- public final List quantizationTables = new ArrayList();
+ public final List<QuantizationTable> quantizationTables = new ArrayList<QuantizationTable>();
public static class QuantizationTable
{
diff --git a/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegRewriter.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegRewriter.java
index a03bb69..10db048 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegRewriter.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegRewriter.java
@@ -53,9 +53,9 @@
protected static class JFIFPieces
{
public final List pieces;
- public final List segmentPieces;
+ public final List<JFIFPiece> segmentPieces;
- public JFIFPieces(final List pieces, final List segmentPieces)
+ public JFIFPieces(final List pieces, final List<JFIFPiece> segmentPieces)
{
this.pieces = pieces;
this.segmentPieces = segmentPieces;
@@ -172,7 +172,7 @@
// , ImageWriteException
{
final List pieces = new ArrayList();
- final List segmentPieces = new ArrayList();
+ final List<JFIFPiece> segmentPieces = new ArrayList<JFIFPiece>();
JpegUtils.Visitor visitor = new JpegUtils.Visitor() {
// return false to exit before reading image data.
@@ -276,13 +276,13 @@
return result;
}
- protected List insertBeforeFirstAppSegments(List segments, List newSegments)
+ protected List<JFIFPiece> insertBeforeFirstAppSegments(List<JFIFPiece> segments, List<JFIFPiece> newSegments)
throws ImageWriteException
{
int firstAppIndex = -1;
for (int i = 0; i < segments.size(); i++)
{
- JFIFPiece piece = (JFIFPiece) segments.get(i);
+ JFIFPiece piece = segments.get(i);
if (!(piece instanceof JFIFPieceSegment))
continue;
@@ -294,7 +294,7 @@
}
}
- List result = new ArrayList(segments);
+ List<JFIFPiece> result = new ArrayList<JFIFPiece>(segments);
if (firstAppIndex == -1)
throw new ImageWriteException("JPEG file has no APP segments.");
result.addAll(firstAppIndex, newSegments);
diff --git a/src/main/java/org/apache/commons/sanselan/formats/pcx/PcxImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/pcx/PcxImageParser.java
index e5fc4dc..9006d0e 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/pcx/PcxImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/pcx/PcxImageParser.java
@@ -110,7 +110,7 @@
Dimension size = getImageSize(byteSource, params);
int metricHDpi = (int) (pcxHeader.hDpi * 1000.0 / 2.54);
int metricVDpi = (int) (pcxHeader.vDpi * 1000.0 / 2.54);
- return new ImageInfo("PCX", pcxHeader.nPlanes * pcxHeader.bitsPerPixel, new ArrayList(),
+ return new ImageInfo("PCX", pcxHeader.nPlanes * pcxHeader.bitsPerPixel, new ArrayList<String>(),
ImageFormat.IMAGE_FORMAT_PCX, "ZSoft PCX Image", size.height, "image/x-pcx", 1,
metricVDpi, pcxHeader.vDpi / metricVDpi, metricHDpi, pcxHeader.hDpi / metricHDpi,
size.width, false, false,
diff --git a/src/main/java/org/apache/commons/sanselan/formats/png/PngImageInfo.java b/src/main/java/org/apache/commons/sanselan/formats/png/PngImageInfo.java
index cd3ba0f..58c0a6b 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/png/PngImageInfo.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/PngImageInfo.java
@@ -24,15 +24,15 @@
public class PngImageInfo extends ImageInfo
{
- private final List textChunks;
+ private final List<PngText> textChunks;
public PngImageInfo(String formatDetails, int bitsPerPixel,
- List comments, ImageFormat format, String formatName,
+ List<String> comments, ImageFormat format, String formatName,
int height, String mimeType, int numberOfImages,
int physicalHeightDpi, float physicalHeightInch,
int physicalWidthDpi, float physicalWidthInch, int width,
boolean isProgressive, boolean isTransparent, boolean usesPalette,
- int colorType, String compressionAlgorithm, final List textChunks)
+ int colorType, String compressionAlgorithm, final List<PngText> textChunks)
{
super(formatDetails, bitsPerPixel, comments, format, formatName,
height, mimeType, numberOfImages, physicalHeightDpi,
@@ -43,9 +43,9 @@
this.textChunks = textChunks;
}
- public List getTextChunks()
+ public List<PngText> getTextChunks()
{
- return new ArrayList(textChunks);
+ return new ArrayList<PngText>(textChunks);
}
}
diff --git a/src/main/java/org/apache/commons/sanselan/formats/png/PngImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/png/PngImageParser.java
index bb53e90..bccd2f8 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/png/PngImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/PngImageParser.java
@@ -109,11 +109,11 @@
/**
* @return List of String-formatted chunk types, ie. "tRNs".
*/
- public List getChuckTypes(InputStream is) throws ImageReadException, IOException {
- List chunks = readChunks(is, null, false);
- List chunkTypes = new ArrayList();
+ public List<String> getChuckTypes(InputStream is) throws ImageReadException, IOException {
+ List<PngChunk> chunks = readChunks(is, null, false);
+ List<String> chunkTypes = new ArrayList<String>();
for (int i=0; i<chunks.size(); i++) {
- PngChunk chunk = (PngChunk) chunks.get(i);
+ PngChunk chunk = chunks.get(i);
chunkTypes.add(getChunkTypeName(chunk.chunkType));
}
return chunkTypes;
@@ -127,12 +127,13 @@
{
is = byteSource.getInputStream();
- List chunks = null;
+ List<PngChunk> chunks = null;
readSignature(is);
chunks = readChunks(is, new int[] { chunkType, }, true);
return chunks.size() > 0;
- } finally
+ }
+ finally
{
try
{
@@ -161,10 +162,9 @@
return false;
}
- private List readChunks(InputStream is, int chunkTypes[],
- boolean returnAfterFirst) throws ImageReadException, IOException
+ private List<PngChunk> readChunks(InputStream is, int chunkTypes[], boolean returnAfterFirst) throws ImageReadException, IOException
{
- List result = new ArrayList();
+ List<PngChunk> result = new ArrayList<PngChunk>();
while (true)
{
@@ -239,7 +239,7 @@
}
- private List readChunks(ByteSource byteSource, int chunkTypes[],
+ private List<PngChunk> readChunks(ByteSource byteSource, int chunkTypes[],
boolean returnAfterFirst) throws ImageReadException, IOException
{
InputStream is = null;
@@ -248,12 +248,11 @@
{
is = byteSource.getInputStream();
- List chunks = null;
-
readSignature(is);
- chunks = readChunks(is, chunkTypes, returnAfterFirst);
- return chunks;
- } finally
+
+ return readChunks(is, chunkTypes, returnAfterFirst);
+ }
+ finally
{
try
{
@@ -270,7 +269,7 @@
public byte[] getICCProfileBytes(ByteSource byteSource, Map params)
throws ImageReadException, IOException
{
- List chunks = readChunks(byteSource, new int[] { iCCP, }, true);
+ List<PngChunk> chunks = readChunks(byteSource, new int[] { iCCP, }, true);
if ((chunks == null) || (chunks.size() < 1))
{
@@ -291,7 +290,7 @@
public Dimension getImageSize(ByteSource byteSource, Map params)
throws ImageReadException, IOException
{
- List chunks = readChunks(byteSource, new int[] { IHDR, }, true);
+ List<PngChunk> chunks = readChunks(byteSource, new int[] { IHDR, }, true);
if ((chunks == null) || (chunks.size() < 1))
throw new ImageReadException("Png: No chunks");
@@ -317,7 +316,7 @@
public IImageMetadata getMetadata(ByteSource byteSource, Map params)
throws ImageReadException, IOException
{
- List chunks = readChunks(byteSource, new int[] { tEXt, zTXt, }, true);
+ List<PngChunk> chunks = readChunks(byteSource, new int[] { tEXt, zTXt, }, true);
if ((chunks == null) || (chunks.size() < 1))
return null;
@@ -430,13 +429,13 @@
throw new ImageReadException("PNG: unknown color type: " + colorType);
}
- private List filterChunks(List v, int type)
+ private List<PngChunk> filterChunks(List<PngChunk> v, int type)
{
- List result = new ArrayList();
+ List<PngChunk> result = new ArrayList<PngChunk>();
for (int i = 0; i < v.size(); i++)
{
- PngChunk chunk = (PngChunk) v.get(i);
+ PngChunk chunk = v.get(i);
if (chunk.chunkType == type)
result.add(chunk);
}
@@ -523,8 +522,7 @@
public ImageInfo getImageInfo(ByteSource byteSource, Map params)
throws ImageReadException, IOException
{
- List chunks = readChunks(byteSource, new int[] { IHDR, pHYs, tEXt,
- zTXt, tRNS, PLTE, iTXt, }, false);
+ List<PngChunk> chunks = readChunks(byteSource, new int[] { IHDR, pHYs, tEXt, zTXt, tRNS, PLTE, iTXt, }, false);
// if(chunks!=null)
// System.out.println("chunks: " + chunks.size());
@@ -532,7 +530,7 @@
if ((chunks == null) || (chunks.size() < 1))
throw new ImageReadException("PNG: no chunks");
- List IHDRs = filterChunks(chunks, IHDR);
+ List<PngChunk> IHDRs = filterChunks(chunks, IHDR);
if (IHDRs.size() != 1)
throw new ImageReadException("PNG contains more than one Header");
@@ -541,11 +539,11 @@
boolean isTransparent = false;
- List tRNSs = filterChunks(chunks, tRNS);
+ List<PngChunk> tRNSs = filterChunks(chunks, tRNS);
if (tRNSs.size() > 0)
{
isTransparent = true;
- pngChunktRNS = (PngChunk) IHDRs.get(0);
+ pngChunktRNS = IHDRs.get(0);
} else {
// CE - Fix Alpha.
isTransparent = hasAlphaChannel(pngChunkIHDR.colorType);
@@ -554,20 +552,20 @@
PngChunkPhys pngChunkpHYs = null;
- List pHYss = filterChunks(chunks, pHYs);
+ List<PngChunk> pHYss = filterChunks(chunks, pHYs);
if (pHYss.size() > 1)
throw new ImageReadException("PNG contains more than one pHYs: "
+ pHYss.size());
else if (pHYss.size() == 1)
pngChunkpHYs = (PngChunkPhys) pHYss.get(0);
- List tEXts = filterChunks(chunks, tEXt);
- List zTXts = filterChunks(chunks, zTXt);
- List iTXts = filterChunks(chunks, iTXt);
+ List<PngChunk> tEXts = filterChunks(chunks, tEXt);
+ List<PngChunk> zTXts = filterChunks(chunks, zTXt);
+ List<PngChunk> iTXts = filterChunks(chunks, iTXt);
{
- List comments = new ArrayList();
- List textChunks = new ArrayList();
+ List<String> comments = new ArrayList<String>();
+ List<PngText> textChunks = new ArrayList<PngText>();
for (int i = 0; i < tEXts.size(); i++)
{
@@ -632,7 +630,7 @@
boolean usesPalette = false;
- List PLTEs = filterChunks(chunks, PLTE);
+ List<PngChunk> PLTEs = filterChunks(chunks, PLTE);
if (PLTEs.size() > 1)
usesPalette = true;
@@ -661,14 +659,12 @@
String compressionAlgorithm = ImageInfo.COMPRESSION_ALGORITHM_PNG_FILTER;
- ImageInfo result = new PngImageInfo(FormatDetails, BitsPerPixel,
+ return new PngImageInfo(FormatDetails, BitsPerPixel,
comments, Format, FormatName, Height, MimeType,
NumberOfImages, PhysicalHeightDpi, PhysicalHeightInch,
PhysicalWidthDpi, PhysicalWidthInch, Width, isProgressive,
isTransparent, usesPalette, ColorType,
compressionAlgorithm, textChunks);
-
- return result;
}
}
@@ -686,19 +682,19 @@
// throw new ImageWriteException("Unknown parameter: " + firstKey);
// }
- List chunks = readChunks(byteSource, new int[] { IHDR, PLTE, IDAT,
+ List<PngChunk> chunks = readChunks(byteSource, new int[] { IHDR, PLTE, IDAT,
tRNS, iCCP, gAMA, sRGB, }, false);
if ((chunks == null) || (chunks.size() < 1))
throw new ImageReadException("PNG: no chunks");
- List IHDRs = filterChunks(chunks, IHDR);
+ List<PngChunk> IHDRs = filterChunks(chunks, IHDR);
if (IHDRs.size() != 1)
throw new ImageReadException("PNG contains more than one Header");
PngChunkIhdr pngChunkIHDR = (PngChunkIhdr) IHDRs.get(0);
- List PLTEs = filterChunks(chunks, PLTE);
+ List<PngChunk> PLTEs = filterChunks(chunks, PLTE);
if (PLTEs.size() > 1)
throw new ImageReadException("PNG contains more than one Palette");
@@ -708,7 +704,7 @@
// -----
- List IDATs = filterChunks(chunks, IDAT);
+ List<PngChunk> IDATs = filterChunks(chunks, IDAT);
if (IDATs.size() < 1)
throw new ImageReadException("PNG missing image data");
@@ -727,10 +723,10 @@
TransparencyFilter transparencyFilter = null;
- List tRNSs = filterChunks(chunks, tRNS);
+ List<PngChunk> tRNSs = filterChunks(chunks, tRNS);
if (tRNSs.size() > 0)
{
- PngChunk pngChunktRNS = (PngChunk) tRNSs.get(0);
+ PngChunk pngChunktRNS = tRNSs.get(0);
transparencyFilter = getTransparencyFilter(pngChunkIHDR.colorType,
pngChunktRNS);
}
@@ -738,9 +734,9 @@
ICC_Profile icc_profile = null;
GammaCorrection gammaCorrection = null;
{
- List sRGBs = filterChunks(chunks, sRGB);
- List gAMAs = filterChunks(chunks, gAMA);
- List iCCPs = filterChunks(chunks, iCCP);
+ List<PngChunk> sRGBs = filterChunks(chunks, sRGB);
+ List<PngChunk> gAMAs = filterChunks(chunks, gAMA);
+ List<PngChunk> iCCPs = filterChunks(chunks, iCCP);
if (sRGBs.size() > 1)
throw new ImageReadException("PNG: unexpected sRGB chunk");
if (gAMAs.size() > 1)
@@ -859,9 +855,9 @@
imageInfo.toString(pw, "");
{
- List chunks = readChunks(byteSource, null, false);
+ List<PngChunk> chunks = readChunks(byteSource, null, false);
{
- List IHDRs = filterChunks(chunks, IHDR);
+ List<PngChunk> IHDRs = filterChunks(chunks, IHDR);
if (IHDRs.size() != 1)
{
if (debug)
@@ -880,7 +876,7 @@
for (int i = 0; i < chunks.size(); i++)
{
- PngChunk chunk = (PngChunk) chunks.get(i);
+ PngChunk chunk = chunks.get(i);
printCharQuad(pw, "\t" + i + ": ", chunk.chunkType);
}
}
@@ -912,12 +908,12 @@
throws ImageReadException, IOException
{
- List chunks = readChunks(byteSource, new int[] { iTXt, }, false);
+ List<PngChunk> chunks = readChunks(byteSource, new int[] { iTXt, }, false);
if ((chunks == null) || (chunks.size() < 1))
return null;
- List xmpChunks = new ArrayList();
+ List<PngChunkItxt> xmpChunks = new ArrayList<PngChunkItxt>();
for (int i = 0; i < chunks.size(); i++)
{
PngChunkItxt chunk = (PngChunkItxt) chunks.get(i);
@@ -932,7 +928,7 @@
throw new ImageReadException(
"PNG contains more than one XMP chunk.");
- PngChunkItxt chunk = (PngChunkItxt) xmpChunks.get(0);
+ PngChunkItxt chunk = xmpChunks.get(0);
return chunk.getText();
}
diff --git a/src/main/java/org/apache/commons/sanselan/formats/pnm/PnmImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/pnm/PnmImageParser.java
index 4c614b0..ddaf496 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/pnm/PnmImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/pnm/PnmImageParser.java
@@ -185,7 +185,7 @@
if (info == null)
throw new ImageReadException("PNM: Couldn't read Header");
- List Comments = new ArrayList();
+ List<String> Comments = new ArrayList<String>();
int BitsPerPixel = info.getBitDepth() * info.getNumComponents();
ImageFormat Format = info.getImageType();
diff --git a/src/main/java/org/apache/commons/sanselan/formats/psd/PsdImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/psd/PsdImageParser.java
index 17bb1f9..c7127ed 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/psd/PsdImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/psd/PsdImageParser.java
@@ -173,8 +173,8 @@
return result;
}
- private List readImageResourceBlocks(byte bytes[],
- int imageResourceIDs[], int maxBlocksToRead)
+ private List<ImageResourceBlock> readImageResourceBlocks(byte bytes[],
+ int imageResourceIDs[], int maxBlocksToRead)
throws ImageReadException, IOException
{
return readImageResourceBlocks(new ByteArrayInputStream(bytes),
@@ -193,11 +193,11 @@
return false;
}
- private List readImageResourceBlocks(InputStream is,
- int imageResourceIDs[], int maxBlocksToRead, int available)
+ private List<ImageResourceBlock> readImageResourceBlocks(InputStream is,
+ int imageResourceIDs[], int maxBlocksToRead, int available)
throws ImageReadException, IOException
{
- List result = new ArrayList();
+ List<ImageResourceBlock> result = new ArrayList<ImageResourceBlock>();
while (available > 0)
{
@@ -253,8 +253,8 @@
return result;
}
- private List readImageResourceBlocks(ByteSource byteSource,
- int imageResourceIDs[], int maxBlocksToRead)
+ private List<ImageResourceBlock> readImageResourceBlocks(ByteSource byteSource,
+ int imageResourceIDs[], int maxBlocksToRead)
throws ImageReadException, IOException
{
InputStream is = null;
@@ -458,13 +458,13 @@
public byte[] getICCProfileBytes(ByteSource byteSource, Map params)
throws ImageReadException, IOException
{
- List blocks = readImageResourceBlocks(byteSource,
- new int[] { IMAGE_RESOURCE_ID_ICC_PROFILE, }, 1);
+ List<ImageResourceBlock> blocks = readImageResourceBlocks(byteSource,
+ new int[]{IMAGE_RESOURCE_ID_ICC_PROFILE,}, 1);
if ((blocks == null) || (blocks.size() < 1))
return null;
- ImageResourceBlock irb = (ImageResourceBlock) blocks.get(0);
+ ImageResourceBlock irb = blocks.get(0);
byte bytes[] = irb.data;
if ((bytes == null) || (bytes.length < 1))
return null;
@@ -540,7 +540,7 @@
int Width = header.Columns;
int Height = header.Rows;
- List Comments = new ArrayList();
+ List<String> Comments = new ArrayList<String>();
// TODO: comments...
int BitsPerPixel = header.Depth * getChannelsPerMode(header.Mode);
@@ -592,11 +592,11 @@
}
// TODO not used
- private ImageResourceBlock findImageResourceBlock(List blocks, int ID)
+ private ImageResourceBlock findImageResourceBlock(List<ImageResourceBlock> blocks, int ID)
{
for (int i = 0; i < blocks.size(); i++)
{
- ImageResourceBlock block = (ImageResourceBlock) blocks.get(i);
+ ImageResourceBlock block = blocks.get(i);
if (block.id == ID)
return block;
@@ -622,8 +622,8 @@
imageContents.dump(pw);
imageContents.header.dump(pw);
- List blocks = readImageResourceBlocks(byteSource,
- // fImageContents.ImageResources,
+ List<ImageResourceBlock> blocks = readImageResourceBlocks(byteSource,
+ // fImageContents.ImageResources,
null, -1);
pw.println("blocks.size(): " + blocks.size());
@@ -631,7 +631,7 @@
// System.out.println("gif.blocks: " + blocks.blocks.size());
for (int i = 0; i < blocks.size(); i++)
{
- ImageResourceBlock block = (ImageResourceBlock) blocks.get(i);
+ ImageResourceBlock block = blocks.get(i);
pw.println("\t" + i + " (" + Integer.toHexString(block.id)
+ ", " + "'"
+ new String(block.nameData)
@@ -676,8 +676,8 @@
// GraphicControlExtension gce = (GraphicControlExtension) findBlock(
// fImageContents.blocks, kGraphicControlExtension);
- List blocks = readImageResourceBlocks(byteSource,
- // fImageContents.ImageResources,
+ List<ImageResourceBlock> blocks = readImageResourceBlocks(byteSource,
+ // fImageContents.ImageResources,
null, -1);
int width = header.Columns;
@@ -808,19 +808,19 @@
if (header == null)
throw new ImageReadException("PSD: Couldn't read Header");
- List blocks = readImageResourceBlocks(byteSource,
- new int[] { IMAGE_RESOURCE_ID_XMP, }, -1);
+ List<ImageResourceBlock> blocks = readImageResourceBlocks(byteSource,
+ new int[]{IMAGE_RESOURCE_ID_XMP,}, -1);
if ((blocks == null) || (blocks.size() < 1))
return null;
- List xmpBlocks = new ArrayList();
+ List<ImageResourceBlock> xmpBlocks = new ArrayList<ImageResourceBlock>();
if (false)
{
// TODO: for PSD 7 and later, verify "XMP" name.
for (int i = 0; i < blocks.size(); i++)
{
- ImageResourceBlock block = (ImageResourceBlock) blocks.get(i);
+ ImageResourceBlock block = blocks.get(i);
if (!block.getName().equals(BLOCK_NAME_XMP))
continue;
xmpBlocks.add(block);
@@ -834,7 +834,7 @@
throw new ImageReadException(
"PSD contains more than one XMP block.");
- ImageResourceBlock block = (ImageResourceBlock) xmpBlocks.get(0);
+ ImageResourceBlock block = xmpBlocks.get(0);
try
{
diff --git a/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffContents.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffContents.java
index a28263f..4bfedc4 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffContents.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffContents.java
@@ -27,9 +27,9 @@
public class TiffContents
{
public final TiffHeader header;
- public final List directories;
+ public final List<TiffDirectory> directories;
- public TiffContents(TiffHeader tiffHeader, List directories)
+ public TiffContents(TiffHeader tiffHeader, List<TiffDirectory> directories)
{
this.header = tiffHeader;
this.directories = directories;
@@ -43,14 +43,14 @@
for (int i = 0; i < directories.size(); i++)
{
- TiffDirectory directory = (TiffDirectory) directories.get(i);
+ TiffDirectory directory = directories.get(i);
result.add(directory);
- List fields = directory.entries;
+ List<TiffField> fields = directory.entries;
for (int j = 0; j < fields.size(); j++)
{
- TiffField field = (TiffField) fields.get(j);
+ TiffField field = fields.get(j);
TiffElement oversizeValue = field.getOversizeValueElement();
if (null != oversizeValue)
result.add(oversizeValue);
@@ -69,7 +69,7 @@
{
for (int i = 0; i < directories.size(); i++)
{
- TiffDirectory directory = (TiffDirectory) directories.get(i);
+ TiffDirectory directory = directories.get(i);
TiffField field = directory.findField(tag);
if (null != field)
diff --git a/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffDirectory.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffDirectory.java
index b1939cc..d358d81 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffDirectory.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffDirectory.java
@@ -45,7 +45,7 @@
StringBuffer result = new StringBuffer();
for (int i = 0; i < entries.size(); i++)
{
- TiffField entry = (TiffField) entries.get(i);
+ TiffField entry = entries.get(i);
result.append("\t");
result.append("[" + entryOffset + "]: ");
@@ -88,11 +88,11 @@
}
public final int type;
- public final List entries;
+ public final List<TiffField> entries;
// public final int offset;
public final int nextDirectoryOffset;
- public TiffDirectory(int type, List entries, final int offset,
+ public TiffDirectory(int type, List<TiffField> entries, final int offset,
int nextDirectoryOffset)
{
super(offset, TIFF_DIRECTORY_HEADER_LENGTH + entries.size()
@@ -103,16 +103,16 @@
this.nextDirectoryOffset = nextDirectoryOffset;
}
- public List getDirectoryEntrys()
+ public List<TiffField> getDirectoryEntrys()
{
- return new ArrayList(entries);
+ return new ArrayList<TiffField>(entries);
}
public void dump()
{
for (int i = 0; i < entries.size(); i++)
{
- TiffField entry = (TiffField) entries.get(i);
+ TiffField entry = entries.get(i);
entry.dump();
}
@@ -166,7 +166,7 @@
for (int i = 0; i < entries.size(); i++)
{
- TiffField field = (TiffField) entries.get(i);
+ TiffField field = entries.get(i);
if (field.tag == tag.tag)
return field;
}
diff --git a/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java
index afc9281..1ceec67 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java
@@ -118,7 +118,7 @@
}
private static TagInfo getTag(int directoryType, int tag,
- List possibleMatches)
+ List<TagInfo> possibleMatches)
{
// Please keep this method in sync with TiffImageMetadata's findField()
@@ -133,7 +133,7 @@
// first search for exact match.
for (int i = 0; i < possibleMatches.size(); i++)
{
- TagInfo tagInfo = (TagInfo) possibleMatches.get(i);
+ TagInfo tagInfo = possibleMatches.get(i);
if (tagInfo.directoryType == EXIF_DIRECTORY_UNKNOWN)
// pass
continue;
@@ -144,7 +144,7 @@
// accept an inexact match.
for (int i = 0; i < possibleMatches.size(); i++)
{
- TagInfo tagInfo = (TagInfo) possibleMatches.get(i);
+ TagInfo tagInfo = possibleMatches.get(i);
if (tagInfo.directoryType == EXIF_DIRECTORY_UNKNOWN)
// pass
@@ -160,7 +160,7 @@
// accept a wildcard match.
for (int i = 0; i < possibleMatches.size(); i++)
{
- TagInfo tagInfo = (TagInfo) possibleMatches.get(i);
+ TagInfo tagInfo = possibleMatches.get(i);
if (tagInfo.directoryType == EXIF_DIRECTORY_UNKNOWN)
return tagInfo;
@@ -251,7 +251,7 @@
{
Object key = new Integer(tag);
- List possibleMatches = (List) ALL_TAG_MAP.get(key);
+ List<TagInfo> possibleMatches = ALL_TAG_MAP.get(key);
if (null == possibleMatches)
{
@@ -575,21 +575,21 @@
return (String) o;
}
- private static final Map makeTagMap(TagInfo tags[],
- boolean ignoreDuplicates, String name)
+ private static final Map<Object, List<TagInfo>> makeTagMap(TagInfo tags[],
+ boolean ignoreDuplicates, String name)
{
// make sure to use the thread-safe version; this is shared state.
- Map map = new Hashtable();
+ Map<Object, List<TagInfo>> map = new Hashtable<Object, List<TagInfo>>();
for (int i = 0; i < tags.length; i++)
{
TagInfo tag = tags[i];
Object key = new Integer(tag.tag);
- List tagList = (List) map.get(key);
+ List<TagInfo> tagList = map.get(key);
if (tagList == null)
{
- tagList = new ArrayList();
+ tagList = new ArrayList<TagInfo>();
map.put(key, tagList);
}
tagList.add(tag);
@@ -609,13 +609,13 @@
return map;
}
- private static final Map GPS_TAG_MAP = makeTagMap(ALL_GPS_TAGS, false,
+ private static final Map<Object, List<TagInfo>> GPS_TAG_MAP = makeTagMap(ALL_GPS_TAGS, false,
"GPS");
- private static final Map TIFF_TAG_MAP = makeTagMap(ALL_TIFF_TAGS, false,
+ private static final Map<Object, List<TagInfo>> TIFF_TAG_MAP = makeTagMap(ALL_TIFF_TAGS, false,
"TIFF");
- private static final Map EXIF_TAG_MAP = makeTagMap(ALL_EXIF_TAGS, true,
+ private static final Map<Object, List<TagInfo>> EXIF_TAG_MAP = makeTagMap(ALL_EXIF_TAGS, true,
"EXIF");
- private static final Map ALL_TAG_MAP = makeTagMap(ALL_TAGS, true, "All");
+ private static final Map<Object, List<TagInfo>> ALL_TAG_MAP = makeTagMap(ALL_TAGS, true, "All");
// static
// {
diff --git a/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageMetadata.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageMetadata.java
index cb2bc8b..f56db6e 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageMetadata.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageMetadata.java
@@ -41,23 +41,23 @@
TiffDirectoryConstants
{
public final TiffContents contents;
- private static final Map tagCounts = countTags(AllTagConstants.ALL_TAGS);
+ private static final Map<Object, Integer> tagCounts = countTags(AllTagConstants.ALL_TAGS);
public TiffImageMetadata(final TiffContents contents)
{
this.contents = contents;
}
- private static final Map countTags(TagInfo tags[])
+ private static final Map<Object, Integer> countTags(TagInfo tags[])
{
- Map map = new Hashtable();
+ Map<Object, Integer> map = new Hashtable<Object, Integer>();
for (int i = 0; i < tags.length; i++)
{
TagInfo tag = tags[i];
Object key = new Integer(tag.tag);
- Integer count = (Integer) map.get(key);
+ Integer count = map.get(key);
if (count == null)
map.put(key, new Integer(1));
else
@@ -67,9 +67,7 @@
return map;
}
- public static class Directory extends ImageMetadata
- implements
- ImageMetadata.IImageMetadataItem
+ public static class Directory extends ImageMetadata implements ImageMetadata.IImageMetadataItem
{
// private BufferedImage thumbnail = null;
@@ -104,7 +102,7 @@
return directory.findField(tagInfo);
}
- public List getAllFields()
+ public List<TiffField> getAllFields()
{
return directory.getDirectoryEntrys();
}
@@ -192,7 +190,7 @@
return super.getItems();
}
- public List getItems()
+ public List<? extends IImageMetadataItem> getItems()
{
List result = new ArrayList();
@@ -259,7 +257,7 @@
public TiffField findField(TagInfo tagInfo, boolean exactDirectoryMatch) throws ImageReadException
{
// Please keep this method in sync with TiffField's getTag()
- Integer tagCount = (Integer)tagCounts.get(new Integer(tagInfo.tag));
+ Integer tagCount = tagCounts.get(new Integer(tagInfo.tag));
int tagsMatching = tagCount == null ? 0 : tagCount.intValue();
List directories = getDirectories();
@@ -321,9 +319,9 @@
return null;
}
- public List getAllFields()
+ public List<TiffField> getAllFields()
{
- List result = new ArrayList();
+ List<TiffField> result = new ArrayList<TiffField>();
List directories = getDirectories();
for (int i = 0; i < directories.size(); i++)
{
diff --git a/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java
index fff5716..91fc477 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java
@@ -85,7 +85,7 @@
FormatCompliance formatCompliance = FormatCompliance.getDefault();
TiffContents contents = new TiffReader(isStrict(params))
.readFirstDirectory(byteSource, params, false, formatCompliance);
- TiffDirectory directory = (TiffDirectory) contents.directories.get(0);
+ TiffDirectory directory = contents.directories.get(0);
TiffField field = directory.findField(EXIF_TAG_ICC_PROFILE);
if (null == field)
@@ -99,7 +99,7 @@
FormatCompliance formatCompliance = FormatCompliance.getDefault();
TiffContents contents = new TiffReader(isStrict(params))
.readFirstDirectory(byteSource, params, false, formatCompliance);
- TiffDirectory directory = (TiffDirectory) contents.directories.get(0);
+ TiffDirectory directory = contents.directories.get(0);
int width = directory.findField(TIFF_TAG_IMAGE_WIDTH).getIntValue();
int height = directory.findField(TIFF_TAG_IMAGE_LENGTH).getIntValue();
@@ -124,21 +124,21 @@
TiffContents contents = new TiffReader(isStrict(params)).readContents(
byteSource, params, formatCompliance);
- List directories = contents.directories;
+ List<TiffDirectory> directories = contents.directories;
TiffImageMetadata result = new TiffImageMetadata(contents);
for (int i = 0; i < directories.size(); i++)
{
- TiffDirectory dir = (TiffDirectory) directories.get(i);
+ TiffDirectory dir = directories.get(i);
TiffImageMetadata.Directory metadataDirectory = new TiffImageMetadata.Directory(dir);
- List entries = dir.getDirectoryEntrys();
+ List<TiffField> entries = dir.getDirectoryEntrys();
for (int j = 0; j < entries.size(); j++)
{
- TiffField entry = (TiffField) entries.get(j);
+ TiffField entry = entries.get(j);
metadataDirectory.add(entry);
}
@@ -154,7 +154,7 @@
FormatCompliance formatCompliance = FormatCompliance.getDefault();
TiffContents contents = new TiffReader(isStrict(params))
.readDirectories(byteSource, false, formatCompliance);
- TiffDirectory directory = (TiffDirectory) contents.directories.get(0);
+ TiffDirectory directory = contents.directories.get(0);
TiffField widthField = directory.findField(TIFF_TAG_IMAGE_WIDTH, true);
TiffField heightField = directory
@@ -233,11 +233,11 @@
// -------------------
- List comments = new ArrayList();
- List entries = directory.entries;
+ List<String> comments = new ArrayList<String>();
+ List<TiffField> entries = directory.entries;
for (int i = 0; i < entries.size(); i++)
{
- TiffField field = (TiffField) entries.get(i);
+ TiffField field = entries.get(i);
String comment = field.toString();
comments.add(comment);
}
@@ -310,7 +310,7 @@
FormatCompliance formatCompliance = FormatCompliance.getDefault();
TiffContents contents = new TiffReader(isStrict(params))
.readDirectories(byteSource, false, formatCompliance);
- TiffDirectory directory = (TiffDirectory) contents.directories.get(0);
+ TiffDirectory directory = contents.directories.get(0);
TiffField xmpField = directory.findField(TIFF_TAG_XMP, false);
if (xmpField == null)
@@ -354,17 +354,17 @@
TiffContents contents = new TiffReader(true).readContents(
byteSource, params, formatCompliance);
- List directories = contents.directories;
+ List<TiffDirectory> directories = contents.directories;
if (directories == null)
return false;
for (int d = 0; d < directories.size(); d++)
{
- TiffDirectory directory = (TiffDirectory) directories
+ TiffDirectory directory = directories
.get(d);
- List entries = directory.entries;
+ List<TiffField> entries = directory.entries;
if (entries == null)
return false;
@@ -373,7 +373,7 @@
for (int i = 0; i < entries.size(); i++)
{
- TiffField field = (TiffField) entries.get(i);
+ TiffField field = entries.get(i);
field.dump(pw, d + "");
}
@@ -405,17 +405,17 @@
return formatCompliance;
}
- public List collectRawImageData(ByteSource byteSource, Map params)
+ public List<byte[]> collectRawImageData(ByteSource byteSource, Map params)
throws ImageReadException, IOException
{
FormatCompliance formatCompliance = FormatCompliance.getDefault();
TiffContents contents = new TiffReader(isStrict(params))
.readDirectories(byteSource, true, formatCompliance);
- List result = new ArrayList();
+ List<byte[]> result = new ArrayList<byte[]>();
for (int i = 0; i < contents.directories.size(); i++)
{
- TiffDirectory directory = (TiffDirectory) contents.directories
+ TiffDirectory directory = contents.directories
.get(i);
List dataElements = directory.getTiffRawImageDataElements();
for (int j = 0; j < dataElements.size(); j++)
@@ -436,22 +436,22 @@
FormatCompliance formatCompliance = FormatCompliance.getDefault();
TiffContents contents = new TiffReader(isStrict(params))
.readFirstDirectory(byteSource, params, true, formatCompliance);
- TiffDirectory directory = (TiffDirectory) contents.directories.get(0);
+ TiffDirectory directory = contents.directories.get(0);
BufferedImage result = directory.getTiffImage(params);
if (null == result)
throw new ImageReadException("TIFF does not contain an image.");
return result;
}
- public List getAllBufferedImages(ByteSource byteSource)
+ public List<BufferedImage> getAllBufferedImages(ByteSource byteSource)
throws ImageReadException, IOException
{
FormatCompliance formatCompliance = FormatCompliance.getDefault();
TiffContents contents = new TiffReader(true).readDirectories(byteSource, true, formatCompliance);
- List results = new ArrayList();
+ List<BufferedImage> results = new ArrayList<BufferedImage>();
for (int i = 0; i < contents.directories.size(); i++)
{
- TiffDirectory directory = (TiffDirectory) contents.directories.get(i);
+ TiffDirectory directory = contents.directories.get(i);
BufferedImage result = directory.getTiffImage(null);
if (result != null)
{
@@ -464,7 +464,7 @@
protected BufferedImage getBufferedImage(TiffDirectory directory, Map params)
throws ImageReadException, IOException
{
- List entries = directory.entries;
+ List<TiffField> entries = directory.entries;
if (entries == null)
throw new ImageReadException("TIFF missing entries");
diff --git a/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
index 440b17d..56949bd 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
@@ -97,14 +97,14 @@
int offset = tiffHeader.offsetToFirstIFD;
int dirType = TiffDirectory.DIRECTORY_TYPE_ROOT;
- List visited = new ArrayList();
+ List<Number> visited = new ArrayList<Number>();
readDirectory(byteSource, offset, dirType, formatCompliance, listener,
visited);
}
private boolean readDirectory(ByteSource byteSource, int offset,
int dirType, FormatCompliance formatCompliance, Listener listener,
- List visited) throws ImageReadException, IOException
+ List<Number> visited) throws ImageReadException, IOException
{
boolean ignoreNextDirectory = false;
return readDirectory(byteSource, offset, dirType, formatCompliance,
@@ -113,7 +113,7 @@
private boolean readDirectory(ByteSource byteSource, int offset,
int dirType, FormatCompliance formatCompliance, Listener listener,
- boolean ignoreNextDirectory, List visited)
+ boolean ignoreNextDirectory, List<Number> visited)
throws ImageReadException, IOException
{
Number key = new Integer(offset);
@@ -138,7 +138,7 @@
if (offset > 0)
is.skip(offset);
- List fields = new ArrayList();
+ List<TiffField> fields = new ArrayList<TiffField>();
if (offset >= byteSource.getLength())
{
@@ -242,10 +242,10 @@
if (listener.readOffsetDirectories())
{
- List fieldsToRemove = new ArrayList();
+ List<TiffField> fieldsToRemove = new ArrayList<TiffField>();
for (int j = 0; j < fields.size(); j++)
{
- TiffField entry = (TiffField) fields.get(j);
+ TiffField entry = fields.get(j);
if (entry.tag == TiffConstants.EXIF_TAG_EXIF_OFFSET.tag
|| entry.tag == TiffConstants.EXIF_TAG_GPSINFO.tag
@@ -321,8 +321,8 @@
private static class Collector implements Listener
{
private TiffHeader tiffHeader = null;
- private List directories = new ArrayList();
- private List fields = new ArrayList();
+ private List<TiffDirectory> directories = new ArrayList<TiffDirectory>();
+ private List<TiffField> fields = new ArrayList<TiffField>();
private final boolean readThumbnails;
public Collector()
diff --git a/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterBase.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterBase.java
index b362cbb..c4c9c5a 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterBase.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterBase.java
@@ -62,7 +62,7 @@
protected TiffOutputSummary validateDirectories(TiffOutputSet outputSet)
throws ImageWriteException
{
- List directories = outputSet.getDirectories();
+ List<TiffOutputDirectory> directories = outputSet.getDirectories();
if (1 > directories.size())
throw new ImageWriteException("No directories.");
@@ -74,11 +74,11 @@
TiffOutputField gpsDirectoryOffsetField = null;
TiffOutputField interoperabilityDirectoryOffsetField = null;
- List directoryIndices = new ArrayList();
- Map directoryTypeMap = new HashMap();
+ List<Integer> directoryIndices = new ArrayList<Integer>();
+ Map<Integer, TiffOutputDirectory> directoryTypeMap = new HashMap<Integer, TiffOutputDirectory>();
for (int i = 0; i < directories.size(); i++)
{
- TiffOutputDirectory directory = (TiffOutputDirectory) directories
+ TiffOutputDirectory directory = directories
.get(i);
int dirType = directory.type;
Integer key = new Integer(dirType);
@@ -124,7 +124,7 @@
// dirMap.put(arg0, arg1)
}
- HashSet fieldTags = new HashSet();
+ HashSet<Integer> fieldTags = new HashSet<Integer>();
List fields = directory.getFields();
for (int j = 0; j < fields.size(); j++)
{
@@ -170,19 +170,19 @@
TiffOutputDirectory previousDirectory = null;
for (int i = 0; i < directoryIndices.size(); i++)
{
- Integer index = (Integer) directoryIndices.get(i);
+ Integer index = directoryIndices.get(i);
if (index.intValue() != i)
throw new ImageWriteException("Missing directory: " + i + ".");
// set up chain of directory references for "normal" directories.
- TiffOutputDirectory directory = (TiffOutputDirectory) directoryTypeMap
+ TiffOutputDirectory directory = directoryTypeMap
.get(index);
if (null != previousDirectory)
previousDirectory.setNextDirectory(directory);
previousDirectory = directory;
}
- TiffOutputDirectory rootDirectory = (TiffOutputDirectory) directoryTypeMap
+ TiffOutputDirectory rootDirectory = directoryTypeMap
.get(new Integer(DIRECTORY_TYPE_ROOT));
// prepare results
diff --git a/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterLossless.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterLossless.java
index c45896d..984f119 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterLossless.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterLossless.java
@@ -67,7 +67,7 @@
// }
// }
- private void dumpElements(List elements) throws IOException
+ private void dumpElements(List<TiffElement> elements) throws IOException
{
// try
// {
@@ -81,13 +81,13 @@
// }
}
- private void dumpElements(ByteSource byteSource, List elements)
+ private void dumpElements(ByteSource byteSource, List<TiffElement> elements)
throws IOException
{
int last = TIFF_HEADER_SIZE;
for (int i = 0; i < elements.size(); i++)
{
- TiffElement element = (TiffElement) elements.get(i);
+ TiffElement element = elements.get(i);
if (element.offset > last)
{
final int SLICE_SIZE = 32;
@@ -132,16 +132,16 @@
List elements = new ArrayList();
// result.add(contents.header); // ?
- List directories = contents.directories;
+ List<TiffDirectory> directories = contents.directories;
for (int d = 0; d < directories.size(); d++)
{
- TiffDirectory directory = (TiffDirectory) directories.get(d);
+ TiffDirectory directory = directories.get(d);
elements.add(directory);
- List fields = directory.getDirectoryEntrys();
+ List<TiffField> fields = directory.getDirectoryEntrys();
for (int f = 0; f < fields.size(); f++)
{
- TiffField field = (TiffField) fields.get(f);
+ TiffField field = fields.get(f);
TiffElement oversizeValue = field.getOversizeValueElement();
if (oversizeValue != null)
elements.add(oversizeValue);
diff --git a/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputDirectory.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputDirectory.java
index 172de30..bb0f844 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputDirectory.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputDirectory.java
@@ -68,7 +68,7 @@
public void removeField(int tag)
{
- List matches = new ArrayList();
+ List<TiffOutputField> matches = new ArrayList<TiffOutputField>();
for (int i = 0; i < fields.size(); i++)
{
TiffOutputField field = (TiffOutputField) fields.get(i);
diff --git a/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSet.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSet.java
index 613e382..0d2c4a5 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSet.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSet.java
@@ -27,7 +27,7 @@
public final class TiffOutputSet implements TiffConstants
{
public final int byteOrder;
- private final List directories = new ArrayList();
+ private final List<TiffOutputDirectory> directories = new ArrayList<TiffOutputDirectory>();
public TiffOutputSet()
{
@@ -47,7 +47,7 @@
for (int i = 0; i < directories.size(); i++)
{
- TiffOutputDirectory directory = (TiffOutputDirectory) directories
+ TiffOutputDirectory directory = directories
.get(i);
result.addAll(directory.getOutputItems(outputSummary));
@@ -65,9 +65,9 @@
directories.add(directory);
}
- public List getDirectories()
+ public List<TiffOutputDirectory> getDirectories()
{
- return new ArrayList(directories);
+ return new ArrayList<TiffOutputDirectory>(directories);
}
public TiffOutputDirectory getRootDirectory()
@@ -127,7 +127,7 @@
{
for (int i = 0; i < directories.size(); i++)
{
- TiffOutputDirectory directory = (TiffOutputDirectory) directories
+ TiffOutputDirectory directory = directories
.get(i);
if (directory.type == directoryType)
return directory;
@@ -219,7 +219,7 @@
{
for (int i = 0; i < directories.size(); i++)
{
- TiffOutputDirectory directory = (TiffOutputDirectory) directories
+ TiffOutputDirectory directory = directories
.get(i);
directory.removeField(tag);
}
@@ -234,7 +234,7 @@
{
for (int i = 0; i < directories.size(); i++)
{
- TiffOutputDirectory directory = (TiffOutputDirectory) directories
+ TiffOutputDirectory directory = directories
.get(i);
TiffOutputField field = directory.findField(tag);
if (null != field)
@@ -301,7 +301,7 @@
for (int i = 0; i < directories.size(); i++)
{
- TiffOutputDirectory directory = (TiffOutputDirectory) directories
+ TiffOutputDirectory directory = directories
.get(i);
result.append(prefix);
result.append("\t" + "directory " + i + ": "
diff --git a/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSummary.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSummary.java
index 5a8cfea..39174c3 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSummary.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSummary.java
@@ -27,10 +27,10 @@
{
public final int byteOrder;
public final TiffOutputDirectory rootDirectory;
- public final Map directoryTypeMap;
+ public final Map<Integer, TiffOutputDirectory> directoryTypeMap;
public TiffOutputSummary(final int byteOrder,
- final TiffOutputDirectory rootDirectory, final Map directoryTypeMap)
+ final TiffOutputDirectory rootDirectory, final Map<Integer, TiffOutputDirectory> directoryTypeMap)
{
this.byteOrder = byteOrder;
this.rootDirectory = rootDirectory;
@@ -51,7 +51,7 @@
}
}
- private List offsetItems = new ArrayList();
+ private List<OffsetItem> offsetItems = new ArrayList<OffsetItem>();
public void add(final TiffOutputItem item,
final TiffOutputField itemOffsetField)
@@ -63,7 +63,7 @@
{
for (int i = 0; i < offsetItems.size(); i++)
{
- OffsetItem offset = (OffsetItem) offsetItems.get(i);
+ OffsetItem offset = offsetItems.get(i);
byte value[] = FIELD_TYPE_LONG.writeData(new int[]{
offset.item.getOffset(),
@@ -73,7 +73,7 @@
for (int i = 0; i < imageDataItems.size(); i++)
{
- ImageDataOffsets imageDataInfo = (ImageDataOffsets) imageDataItems
+ ImageDataOffsets imageDataInfo = imageDataItems
.get(i);
for (int j = 0; j < imageDataInfo.outputItems.length; j++)
@@ -87,7 +87,7 @@
}
}
- private List imageDataItems = new ArrayList();
+ private List<ImageDataOffsets> imageDataItems = new ArrayList<ImageDataOffsets>();
public void addTiffImageData(final ImageDataOffsets imageDataInfo)
{
diff --git a/src/main/java/org/apache/commons/sanselan/formats/wbmp/WbmpImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/wbmp/WbmpImageParser.java
index a0f8bb6..79e3214 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/wbmp/WbmpImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/wbmp/WbmpImageParser.java
@@ -88,7 +88,7 @@
throws ImageReadException, IOException
{
WbmpHeader wbmpHeader = readWbmpHeader(byteSource);
- return new ImageInfo("WBMP", 1, new ArrayList(),
+ return new ImageInfo("WBMP", 1, new ArrayList<String>(),
ImageFormat.IMAGE_FORMAT_WBMP,
"Wireless Application Protocol Bitmap",
wbmpHeader.height, "image/vnd.wap.wbmp", 1,
diff --git a/src/main/java/org/apache/commons/sanselan/formats/xbm/XbmImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/xbm/XbmImageParser.java
index 55dbe56..072393a 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/xbm/XbmImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/xbm/XbmImageParser.java
@@ -95,7 +95,7 @@
{
XbmHeader xbmHeader = readXbmHeader(byteSource);
return new ImageInfo("XBM", 1,
- new ArrayList(), ImageFormat.IMAGE_FORMAT_XBM,
+ new ArrayList<String>(), ImageFormat.IMAGE_FORMAT_XBM,
"X BitMap",
xbmHeader.height, "image/x-xbitmap", 1,
0, 0, 0, 0,
@@ -167,25 +167,25 @@
try
{
is = byteSource.getInputStream();
- Map defines = new HashMap();
+ Map<String, String> defines = new HashMap<String, String>();
ByteArrayOutputStream preprocessedFile = BasicCParser.preprocess(
is, null, defines);
int width = -1;
int height = -1;
int xHot = -1;
int yHot = -1;
- for (Iterator it = defines.entrySet().iterator(); it.hasNext();)
+ for (Iterator<Map.Entry<String,String>> it = defines.entrySet().iterator(); it.hasNext();)
{
- Map.Entry entry = (Map.Entry)it.next();
- String name = (String)entry.getKey();
+ Map.Entry<String, String> entry = it.next();
+ String name = entry.getKey();
if (name.endsWith("_width"))
- width = Integer.parseInt((String)entry.getValue());
+ width = Integer.parseInt(entry.getValue());
else if (name.endsWith("_height"))
- height = Integer.parseInt((String)entry.getValue());
+ height = Integer.parseInt(entry.getValue());
else if (name.endsWith("_x_hot"))
- xHot = Integer.parseInt((String)entry.getValue());
+ xHot = Integer.parseInt(entry.getValue());
else if (name.endsWith("_y_hot"))
- yHot = Integer.parseInt((String)entry.getValue());
+ yHot = Integer.parseInt(entry.getValue());
}
if (width == -1)
throw new ImageReadException("width not found");
diff --git a/src/main/java/org/apache/commons/sanselan/formats/xpm/XpmImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/xpm/XpmImageParser.java
index 6306cda..38fdb71 100644
--- a/src/main/java/org/apache/commons/sanselan/formats/xpm/XpmImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/xpm/XpmImageParser.java
@@ -53,7 +53,7 @@
public class XpmImageParser extends ImageParser
{
- private static Map colorNames = null;
+ private static Map<String, Integer> colorNames = null;
public XpmImageParser()
{
@@ -74,7 +74,7 @@
}
reader = new BufferedReader(new InputStreamReader(rgbTxtStream,
"US-ASCII"));
- Map colors = new HashMap();
+ Map<String, Integer> colors = new HashMap<String, Integer>();
String line;
while ((line = reader.readLine()) != null)
{
@@ -159,10 +159,10 @@
XpmHeader xpmHeader = readXpmHeader(byteSource);
boolean isTransparent = false;
int colorType = ImageInfo.COLOR_TYPE_BW;
- for (Iterator it = xpmHeader.palette.entrySet().iterator(); it.hasNext();)
+ for (Iterator<Map.Entry<Object,PaletteEntry>> it = xpmHeader.palette.entrySet().iterator(); it.hasNext();)
{
- Map.Entry entry = (Map.Entry)it.next();
- PaletteEntry paletteEntry = (PaletteEntry)entry.getValue();
+ Map.Entry<Object, PaletteEntry> entry = it.next();
+ PaletteEntry paletteEntry = entry.getValue();
if ((paletteEntry.getBestARGB() & 0xff000000) != 0xff000000)
isTransparent = true;
if (paletteEntry.haveColor)
@@ -172,7 +172,7 @@
colorType = ImageInfo.COLOR_TYPE_GRAYSCALE;
}
return new ImageInfo("XPM version 3", xpmHeader.numCharsPerPixel * 8,
- new ArrayList(), ImageFormat.IMAGE_FORMAT_XPM,
+ new ArrayList<String>(), ImageFormat.IMAGE_FORMAT_XPM,
"X PixMap",
xpmHeader.height, "image/x-xpixmap", 1,
0, 0, 0, 0,
@@ -206,7 +206,7 @@
int yHotSpot = -1;
boolean xpmExt;
- Map palette = new HashMap();
+ Map<Object, PaletteEntry> palette = new HashMap<Object, PaletteEntry>();
public XpmHeader(int width, int height, int numColors,
int numCharsPerPixel, int xHotSpot, int yHotSpot,
@@ -416,7 +416,7 @@
if (!loadColorNames())
return 0x00000000;
if (colorNames.containsKey(color))
- return ((Integer)colorNames.get(color)).intValue();
+ return (colorNames.get(color)).intValue();
else
return 0x00000000;
}
@@ -587,10 +587,10 @@
if (xpmHeader.palette.size() <= (1 << 8))
{
int[] palette = new int[xpmHeader.palette.size()];
- for (Iterator it = xpmHeader.palette.entrySet().iterator(); it.hasNext();)
+ for (Iterator<Map.Entry<Object,PaletteEntry>> it = xpmHeader.palette.entrySet().iterator(); it.hasNext();)
{
- Map.Entry entry = (Map.Entry)it.next();
- PaletteEntry paletteEntry = (PaletteEntry)entry.getValue();
+ Map.Entry<Object, PaletteEntry> entry = it.next();
+ PaletteEntry paletteEntry = entry.getValue();
palette[paletteEntry.index] = paletteEntry.getBestARGB();
}
colorModel = new IndexColorModel(8, xpmHeader.palette.size(),
@@ -602,10 +602,10 @@
else if (xpmHeader.palette.size() <= (1 << 16))
{
int[] palette = new int[xpmHeader.palette.size()];
- for (Iterator it = xpmHeader.palette.entrySet().iterator(); it.hasNext();)
+ for (Iterator<Map.Entry<Object,PaletteEntry>> it = xpmHeader.palette.entrySet().iterator(); it.hasNext();)
{
- Map.Entry entry = (Map.Entry)it.next();
- PaletteEntry paletteEntry = (PaletteEntry)entry.getValue();
+ Map.Entry<Object, PaletteEntry> entry = it.next();
+ PaletteEntry paletteEntry = entry.getValue();
palette[paletteEntry.index] = paletteEntry.getBestARGB();
}
colorModel = new IndexColorModel(16, xpmHeader.palette.size(),
@@ -641,7 +641,7 @@
{
String index = row.substring(x*xpmHeader.numCharsPerPixel,
(x + 1)*xpmHeader.numCharsPerPixel);
- PaletteEntry paletteEntry = (PaletteEntry) xpmHeader.palette.get(index);
+ PaletteEntry paletteEntry = xpmHeader.palette.get(index);
if (paletteEntry == null) {
throw new ImageReadException("No palette entry was defined " +
"for " + index);
diff --git a/src/main/java/org/apache/commons/sanselan/palette/MedianCutQuantizer.java b/src/main/java/org/apache/commons/sanselan/palette/MedianCutQuantizer.java
index 23f0ff8..873094f 100644
--- a/src/main/java/org/apache/commons/sanselan/palette/MedianCutQuantizer.java
+++ b/src/main/java/org/apache/commons/sanselan/palette/MedianCutQuantizer.java
@@ -74,7 +74,7 @@
// public final List children = new ArrayList();
public int palette_index = -1;
- public final List color_counts;
+ public final List<ColorCount> color_counts;
public int min_red = Integer.MAX_VALUE;
public int max_red = Integer.MIN_VALUE;
public int min_green = Integer.MAX_VALUE;
@@ -92,7 +92,7 @@
public final int max_diff;
public final int diff_total;
- public ColorGroup(final List color_counts) throws ImageWriteException
+ public ColorGroup(final List<ColorCount> color_counts) throws ImageWriteException
{
this.color_counts = color_counts;
@@ -101,7 +101,7 @@
for (int i = 0; i < color_counts.size(); i++)
{
- ColorCount color = (ColorCount) color_counts.get(i);
+ ColorCount color = color_counts.get(i);
min_alpha = Math.min(min_alpha, color.alpha);
max_alpha = Math.max(max_alpha, color.alpha);
@@ -149,7 +149,7 @@
for (int i = 0; i < color_counts.size(); i++)
{
- ColorCount color = (ColorCount) color_counts.get(i);
+ ColorCount color = color_counts.get(i);
count_total += color.count;
alpha_total += color.count * color.alpha;
@@ -183,9 +183,9 @@
}
- public Map groupColors1(BufferedImage image, int max, int mask)
+ public Map<Integer, ColorCount> groupColors1(BufferedImage image, int max, int mask)
{
- Map color_map = new HashMap();
+ Map<Integer, ColorCount> color_map = new HashMap<Integer, ColorCount>();
int width = image.getWidth();
int height = image.getHeight();
@@ -202,7 +202,7 @@
argb &= 0xffffff;
argb &= mask;
- ColorCount color = (ColorCount) color_map
+ ColorCount color = color_map
.get(new Integer(argb));
if (color == null)
{
@@ -218,7 +218,7 @@
return color_map;
}
- public Map groupColors(BufferedImage image, int max_colors)
+ public Map<Integer, ColorCount> groupColors(BufferedImage image, int max_colors)
{
int max = Integer.MAX_VALUE;
@@ -227,10 +227,9 @@
int mask = 0xff & (0xff << i);
mask = mask | (mask << 8) | (mask << 16) | (mask << 24);
- Debug.debug("mask(" + i + ")", mask + " ("
- + Integer.toHexString(mask) + ")");
+ Debug.debug("mask(" + i + ")", mask + " (" + Integer.toHexString(mask) + ")");
- Map result = groupColors1(image, max, mask);
+ Map<Integer, ColorCount> result = groupColors1(image, max, mask);
if (result != null)
return result;
}
@@ -240,7 +239,7 @@
public Palette process(BufferedImage image, int max_colors, boolean verbose)
throws ImageWriteException
{
- Map color_map = groupColors(image, max_colors);
+ Map<Integer, ColorCount> color_map = groupColors(image, max_colors);
int discrete_colors = color_map.keySet().size();
if (discrete_colors <= max_colors)
@@ -249,11 +248,11 @@
Debug.debug("lossless palette: " + discrete_colors);
int palette[] = new int[discrete_colors];
- List color_counts = new ArrayList(color_map.values());
+ List<ColorCount> color_counts = new ArrayList<ColorCount>(color_map.values());
for (int i = 0; i < color_counts.size(); i++)
{
- ColorCount color_count = (ColorCount) color_counts.get(i);
+ ColorCount color_count = color_counts.get(i);
palette[i] = color_count.argb;
if (ignoreAlpha)
palette[i] |= 0xff000000;
@@ -265,18 +264,15 @@
if (verbose)
Debug.debug("discrete colors: " + discrete_colors);
- List color_groups = new ArrayList();
- ColorGroup root = new ColorGroup(new ArrayList(color_map.values()));
+ List<ColorGroup> color_groups = new ArrayList<ColorGroup>();
+ ColorGroup root = new ColorGroup(new ArrayList<ColorCount>(color_map.values()));
{
color_groups.add(root);
- final Comparator comparator = new Comparator()
+ final Comparator<ColorGroup> comparator = new Comparator<ColorGroup>()
{
- public int compare(Object o1, Object o2)
+ public int compare(ColorGroup cg1, ColorGroup cg2)
{
- ColorGroup cg1 = (ColorGroup) o1;
- ColorGroup cg2 = (ColorGroup) o2;
-
if (cg1.max_diff == cg2.max_diff)
return cg2.diff_total - cg1.diff_total;
return cg2.max_diff - cg1.max_diff;
@@ -287,7 +283,7 @@
{
Collections.sort(color_groups, comparator);
- ColorGroup color_group = (ColorGroup) color_groups.get(0);
+ ColorGroup color_group = color_groups.get(0);
if (color_group.max_diff == 0)
break;
@@ -323,7 +319,7 @@
for (int i = 0; i < color_groups.size(); i++)
{
- ColorGroup color_group = (ColorGroup) color_groups.get(i);
+ ColorGroup color_group = color_groups.get(i);
palette[i] = color_group.getMedianValue();
@@ -351,24 +347,19 @@
private static final int GREEN = 2;
private static final int BLUE = 3;
- private void doCut(ColorGroup color_group, final int mode,
- final List color_groups) throws ImageWriteException
+ private void doCut(ColorGroup color_group, final int mode, final List<ColorGroup> color_groups) throws ImageWriteException
{
int count_total = 0;
for (int i = 0; i < color_group.color_counts.size(); i++)
{
- ColorCount color_count = (ColorCount) color_group.color_counts
- .get(i);
+ ColorCount color_count = color_group.color_counts.get(i);
count_total += color_count.count;
}
- Comparator comparator = new Comparator()
+ Comparator<ColorCount> comparator = new Comparator<ColorCount>()
{
- public int compare(Object o1, Object o2)
+ public int compare(ColorCount c1, ColorCount c2)
{
- ColorCount c1 = (ColorCount) o1;
- ColorCount c2 = (ColorCount) o2;
-
switch (mode)
{
case ALPHA :
@@ -391,8 +382,7 @@
int median_index;
for (median_index = 0; median_index < color_group.color_counts.size(); median_index++)
{
- ColorCount color_count = (ColorCount) color_group.color_counts
- .get(median_index);
+ ColorCount color_count = color_group.color_counts.get(median_index);
new_count += color_count.count;
@@ -416,23 +406,20 @@
color_groups.remove(color_group);
{
- List color_counts1 = new ArrayList(color_group.color_counts
- .subList(0, median_index + 1));
- List color_counts2 = new ArrayList(color_group.color_counts
- .subList(median_index + 1, color_group.color_counts.size()));
+ List<ColorCount> color_counts1 = new ArrayList<ColorCount>(color_group.color_counts.subList(0, median_index + 1));
+ List<ColorCount> color_counts2 = new ArrayList<ColorCount>(color_group.color_counts.subList(median_index + 1, color_group.color_counts.size()));
ColorGroup less, more;
{
- less = new ColorGroup(new ArrayList(color_counts1));
+ less = new ColorGroup(new ArrayList<ColorCount>(color_counts1));
color_groups.add(less);
}
{
- more = new ColorGroup(new ArrayList(color_counts2));
+ more = new ColorGroup(new ArrayList<ColorCount>(color_counts2));
color_groups.add(more);
}
- ColorCount median_value = (ColorCount) color_group.color_counts
- .get(median_index);
+ ColorCount median_value = color_group.color_counts.get(median_index);
int limit;
switch (mode)
{
@@ -512,9 +499,7 @@
while (cg.cut != null)
{
- ColorGroup next = cg.cut.getColorGroup(rgb);
-
- cg = next;
+ cg = cg.cut.getColorGroup(rgb);
}
return cg.palette_index;
diff --git a/src/main/java/org/apache/commons/sanselan/palette/PaletteFactory.java b/src/main/java/org/apache/commons/sanselan/palette/PaletteFactory.java
index be9e9f0..da851d8 100644
--- a/src/main/java/org/apache/commons/sanselan/palette/PaletteFactory.java
+++ b/src/main/java/org/apache/commons/sanselan/palette/PaletteFactory.java
@@ -200,8 +200,8 @@
}
- private List divideSubset2(int table[], ColorSpaceSubset subset,
- int component, int precision)
+ private List<DivisionCandidate> divideSubset2(int table[], ColorSpaceSubset subset,
+ int component, int precision)
{
if (debug)
subset.dump("trying (" + component + "): ");
@@ -243,7 +243,7 @@
DivisionCandidate dc2 = finishDivision(table, subset, component,
precision, sum2, slice2);
- List result = new ArrayList();
+ List<DivisionCandidate> result = new ArrayList<DivisionCandidate>();
if (dc1 != null)
result.add(dc1);
@@ -256,7 +256,7 @@
private DivisionCandidate divideSubset2(int table[],
ColorSpaceSubset subset, int precision)
{
- List dcs = new ArrayList();
+ List<DivisionCandidate> dcs = new ArrayList<DivisionCandidate>();
dcs.addAll(divideSubset2(table, subset, 0, precision));
dcs.addAll(divideSubset2(table, subset, 1, precision));
@@ -268,7 +268,7 @@
for (int i = 0; i < dcs.size(); i++)
{
- DivisionCandidate dc = (DivisionCandidate) dcs.get(i);
+ DivisionCandidate dc = dcs.get(i);
ColorSpaceSubset first = dc.dst_a;
ColorSpaceSubset second = dc.dst_b;
@@ -312,10 +312,10 @@
}
}
- private List divide(List v, int desired_count, int table[],
- int precision)
+ private List<ColorSpaceSubset> divide(List<ColorSpaceSubset> v, int desired_count, int table[],
+ int precision)
{
- List ignore = new ArrayList();
+ List<ColorSpaceSubset> ignore = new ArrayList<ColorSpaceSubset>();
int count = 0;
while (true)
@@ -331,7 +331,7 @@
for (int i = 0; i < v.size(); i++)
{
- ColorSpaceSubset subset = (ColorSpaceSubset) v.get(i);
+ ColorSpaceSubset subset = v.get(i);
if (ignore.contains(subset))
continue;
int area = subset.total;
@@ -387,7 +387,7 @@
int width = src.getWidth();
int height = src.getHeight();
- List subsets = new ArrayList();
+ List<ColorSpaceSubset> subsets = new ArrayList<ColorSpaceSubset>();
ColorSpaceSubset all = new ColorSpaceSubset(width * height, precision);
subsets.add(all);
@@ -426,7 +426,7 @@
for (int i = 0; i < subsets.size(); i++)
{
- ColorSpaceSubset subset = (ColorSpaceSubset) subsets.get(i);
+ ColorSpaceSubset subset = subsets.get(i);
subset.setAverageRGB(table);
@@ -442,7 +442,7 @@
public SimplePalette makePaletteSimple(BufferedImage src, int max)
// This is not efficient for large values of max, say, max > 256;
{
- Map map = new HashMap();
+ Map<String, String> map = new HashMap<String, String>();
int rgbs[] = new int[max];
int rgb_count = 0;
diff --git a/src/main/java/org/apache/commons/sanselan/palette/QuantizedPalette.java b/src/main/java/org/apache/commons/sanselan/palette/QuantizedPalette.java
index f2f20a7..1d72045 100644
--- a/src/main/java/org/apache/commons/sanselan/palette/QuantizedPalette.java
+++ b/src/main/java/org/apache/commons/sanselan/palette/QuantizedPalette.java
@@ -23,10 +23,10 @@
public class QuantizedPalette extends Palette
{
private final int precision;
- private final List subsets;
+ private final List<ColorSpaceSubset> subsets;
private final ColorSpaceSubset straight[];
- public QuantizedPalette(List subsets, int precision)
+ public QuantizedPalette(List<ColorSpaceSubset> subsets, int precision)
{
this.subsets = subsets;
this.precision = precision;
@@ -36,7 +36,7 @@
for (int i = 0; i < subsets.size(); i++)
{
- ColorSpaceSubset subset = (ColorSpaceSubset) subsets.get(i);
+ ColorSpaceSubset subset = subsets.get(i);
subset.setIndex(i);
for (int u = subset.mins[0]; u <= subset.maxs[0]; u++)
@@ -74,7 +74,7 @@
public int getEntry(int index)
{
- ColorSpaceSubset subset = (ColorSpaceSubset) subsets.get(index);
+ ColorSpaceSubset subset = subsets.get(index);
return subset.rgb;
}