- Introduce new class ProviderInfo, to encapsulate Package info (vendor/version).

- Rewritten Spi classes to use new class, to have vendor and version info injected from manifest.
This commit is contained in:
Harald Kuhr
2009-10-31 19:16:48 +01:00
parent fb2c555d21
commit f49a487c88
15 changed files with 281 additions and 54 deletions
@@ -28,6 +28,7 @@
package com.twelvemonkeys.imageio.plugins.svg;
import com.twelvemonkeys.imageio.spi.ProviderInfo;
import com.twelvemonkeys.lang.SystemUtil;
import com.twelvemonkeys.imageio.util.IIOUtil;
@@ -50,12 +51,16 @@ public class SVGImageReaderSpi extends ImageReaderSpi {
private final static boolean SVG_READER_AVAILABLE = SystemUtil.isClassAvailable("com.twelvemonkeys.imageio.plugins.svg.SVGImageReader");
/**
* Creates an SVGImageReaderSpi
* Creates an {@code SVGImageReaderSpi}.
*/
public SVGImageReaderSpi() {
this(IIOUtil.getProviderInfo(SVGImageReaderSpi.class));
}
private SVGImageReaderSpi(final ProviderInfo pProviderInfo) {
super(
"TwelveMonkeys", // Vendor name
"2.0", // Version
pProviderInfo.getVendorName(), // Vendor name
pProviderInfo.getVersion(), // Version
SVG_READER_AVAILABLE ? new String[]{"svg", "SVG"} : new String[]{""}, // Names
SVG_READER_AVAILABLE ? new String[]{"svg"} : null, // Suffixes
SVG_READER_AVAILABLE ? new String[]{"image/svg", "image/x-svg", "image/svg+xml", "image/svg-xml"} : null, // Mime-types
@@ -28,6 +28,7 @@
package com.twelvemonkeys.imageio.plugins.tiff;
import com.twelvemonkeys.imageio.spi.ProviderInfo;
import com.twelvemonkeys.lang.SystemUtil;
import com.twelvemonkeys.imageio.util.IIOUtil;
@@ -50,12 +51,16 @@ public class TIFFImageReaderSpi extends ImageReaderSpi {
final static boolean TIFF_CLASSES_AVAILABLE = SystemUtil.isClassAvailable("com.twelvemonkeys.imageio.plugins.tiff.TIFFImageReader");
/**
* Creates an SVGImageReaderSpi
* Creates a {@code TIFFImageReaderSpi}.
*/
public TIFFImageReaderSpi() {
this(IIOUtil.getProviderInfo(TIFFImageReaderSpi.class));
}
private TIFFImageReaderSpi(final ProviderInfo pProviderInfo) {
super(
"TwelveMonkeys", // Vendor name
"2.0", // Version
pProviderInfo.getVendorName(), // Vendor name
pProviderInfo.getVersion(), // Version
TIFF_CLASSES_AVAILABLE ? new String[]{"tiff", "TIFF"} : new String[] {""}, // Names
TIFF_CLASSES_AVAILABLE ? new String[]{"tiff", "tif"} : null, // Suffixes
TIFF_CLASSES_AVAILABLE ? new String[]{"image/tiff", "image/x-tiff"} : null, // Mime-types
@@ -28,6 +28,7 @@
package com.twelvemonkeys.imageio.plugins.tiff;
import com.twelvemonkeys.imageio.spi.ProviderInfo;
import com.twelvemonkeys.imageio.util.IIOUtil;
import javax.imageio.ImageTypeSpecifier;
@@ -46,12 +47,16 @@ import java.util.Locale;
public class TIFFImageWriterSpi extends ImageWriterSpi {
/**
* Creates a TIFFImageWriterSpi.
* Creates a {@code TIFFImageWriterSpi}.
*/
public TIFFImageWriterSpi() {
this(IIOUtil.getProviderInfo(TIFFImageWriterSpi.class));
}
private TIFFImageWriterSpi(final ProviderInfo pProviderInfo) {
super(
"TwelveMonkeys", // Vendor name
"2.0", // Version
pProviderInfo.getVendorName(), // Vendor name
pProviderInfo.getVersion(), // Version
new String[]{"tiff", "TIFF"}, // Names
new String[]{"tif", "tiff"}, // Suffixes
new String[]{"image/tiff", "image/x-tiff"}, // Mime-types
@@ -28,6 +28,7 @@
package com.twelvemonkeys.imageio.plugins.wmf;
import com.twelvemonkeys.imageio.spi.ProviderInfo;
import com.twelvemonkeys.lang.SystemUtil;
import com.twelvemonkeys.imageio.util.IIOUtil;
@@ -51,12 +52,16 @@ public class WMFImageReaderSpi extends ImageReaderSpi {
private final static boolean WMF_READER_AVAILABLE = SystemUtil.isClassAvailable("com.twelvemonkeys.imageio.plugins.svg.SVGImageReader");
/**
* Creates an SVGImageReaderSpi
* Creates a {@code WMFImageReaderSpi}.
*/
public WMFImageReaderSpi() {
this(IIOUtil.getProviderInfo(WMFImageReaderSpi.class));
}
private WMFImageReaderSpi(final ProviderInfo pProviderInfo) {
super(
"TwelveMonkeys", // Vendor name
"2.0", // Version
pProviderInfo.getVendorName(), // Vendor name
pProviderInfo.getVersion(), // Version
WMF_READER_AVAILABLE ? new String[]{"wmf", "WMF"} : new String[]{""}, // Names
WMF_READER_AVAILABLE ? new String[]{"wmf", "emf"} : null, // Suffixes
WMF_READER_AVAILABLE ? new String[]{"application/x-msmetafile", "image/x-wmf"} : null, // Mime-types