diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderSpi.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderSpi.java index 3fe841e0..efe0f4de 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderSpi.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderSpi.java @@ -28,7 +28,7 @@ package com.twelvemonkeys.imageio.plugins.jpeg; -import com.twelvemonkeys.imageio.spi.ProviderInfo; +import com.twelvemonkeys.imageio.spi.ImageReaderSpiBase; import com.twelvemonkeys.imageio.util.IIOUtil; import com.twelvemonkeys.lang.Validate; @@ -36,7 +36,6 @@ import javax.imageio.ImageReader; import javax.imageio.metadata.IIOMetadataFormat; import javax.imageio.spi.ImageReaderSpi; import javax.imageio.spi.ServiceRegistry; -import javax.imageio.stream.ImageInputStream; import java.io.IOException; import java.util.Iterator; import java.util.Locale; @@ -48,7 +47,7 @@ import java.util.Locale; * @author last modified by $Author: haraldk$ * @version $Id: JPEGImageReaderSpi.java,v 1.0 24.01.11 22.12 haraldk Exp$ */ -public class JPEGImageReaderSpi extends ImageReaderSpi { +public class JPEGImageReaderSpi extends ImageReaderSpiBase { private ImageReaderSpi delegateProvider; /** @@ -56,22 +55,7 @@ public class JPEGImageReaderSpi extends ImageReaderSpi { * The instance created will not work without being properly registered. */ public JPEGImageReaderSpi() { - this(IIOUtil.getProviderInfo(JPEGImageReaderSpi.class)); - } - - private JPEGImageReaderSpi(final ProviderInfo providerInfo) { - super( - providerInfo.getVendorName(), - providerInfo.getVersion(), - new String[]{"JPEG", "jpeg", "JPG", "jpg"}, - new String[]{"jpg", "jpeg"}, - new String[]{"image/jpeg"}, - "com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageReader", - new Class[] {ImageInputStream.class}, - new String[] {"com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageWriterSpi"}, - true, null, null, null, null, - true, null, null, null, null - ); + super(new JPEGProviderInfo()); } /** @@ -80,7 +64,7 @@ public class JPEGImageReaderSpi extends ImageReaderSpi { * @param delegateProvider a {@code ImageReaderSpi} that can read JPEG. */ protected JPEGImageReaderSpi(final ImageReaderSpi delegateProvider) { - this(IIOUtil.getProviderInfo(JPEGImageReaderSpi.class)); + this(); this.delegateProvider = Validate.notNull(delegateProvider); } @@ -128,12 +112,12 @@ public class JPEGImageReaderSpi extends ImageReaderSpi { } @Override - public ImageReader createReaderInstance(Object extension) throws IOException { + public ImageReader createReaderInstance(final Object extension) throws IOException { return new JPEGImageReader(this, delegateProvider.createReaderInstance(extension)); } @Override - public boolean canDecodeInput(Object source) throws IOException { + public boolean canDecodeInput(final Object source) throws IOException { return delegateProvider.canDecodeInput(source); } @@ -183,17 +167,17 @@ public class JPEGImageReaderSpi extends ImageReaderSpi { } @Override - public IIOMetadataFormat getStreamMetadataFormat(String formatName) { + public IIOMetadataFormat getStreamMetadataFormat(final String formatName) { return delegateProvider.getStreamMetadataFormat(formatName); } @Override - public IIOMetadataFormat getImageMetadataFormat(String formatName) { + public IIOMetadataFormat getImageMetadataFormat(final String formatName) { return delegateProvider.getImageMetadataFormat(formatName); } @Override - public String getDescription(Locale locale) { + public String getDescription(final Locale locale) { return delegateProvider.getDescription(locale); } diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageWriterSpi.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageWriterSpi.java index a0dcf30f..40fb7bea 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageWriterSpi.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageWriterSpi.java @@ -28,7 +28,7 @@ package com.twelvemonkeys.imageio.plugins.jpeg; -import com.twelvemonkeys.imageio.spi.ProviderInfo; +import com.twelvemonkeys.imageio.spi.ImageWriterSpiBase; import com.twelvemonkeys.imageio.util.IIOUtil; import com.twelvemonkeys.lang.Validate; @@ -37,7 +37,6 @@ import javax.imageio.ImageWriter; import javax.imageio.metadata.IIOMetadataFormat; import javax.imageio.spi.ImageWriterSpi; import javax.imageio.spi.ServiceRegistry; -import javax.imageio.stream.ImageOutputStream; import java.awt.image.RenderedImage; import java.io.IOException; import java.util.Iterator; @@ -50,7 +49,7 @@ import java.util.Locale; * @author last modified by $Author: haraldk$ * @version $Id: JPEGImageWriterSpi.java,v 1.0 06.02.12 16:09 haraldk Exp$ */ -public class JPEGImageWriterSpi extends ImageWriterSpi { +public class JPEGImageWriterSpi extends ImageWriterSpiBase { private ImageWriterSpi delegateProvider; /** @@ -58,22 +57,7 @@ public class JPEGImageWriterSpi extends ImageWriterSpi { * The instance created will not work without being properly registered. */ public JPEGImageWriterSpi() { - this(IIOUtil.getProviderInfo(JPEGImageWriterSpi.class)); - } - - private JPEGImageWriterSpi(final ProviderInfo providerInfo) { - super( - providerInfo.getVendorName(), - providerInfo.getVersion(), - new String[]{"JPEG", "jpeg", "JPG", "jpg"}, - new String[]{"jpg", "jpeg"}, - new String[]{"image/jpeg"}, - "com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageWriter", - new Class[] { ImageOutputStream.class }, - new String[] {"com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageReaderSpi"}, - true, null, null, null, null, - true, null, null, null, null - ); + super(new JPEGProviderInfo()); } /** @@ -82,7 +66,7 @@ public class JPEGImageWriterSpi extends ImageWriterSpi { * @param delegateProvider a {@code ImageWriterSpi} that can write JPEG. */ protected JPEGImageWriterSpi(final ImageWriterSpi delegateProvider) { - this(IIOUtil.getProviderInfo(JPEGImageReaderSpi.class)); + this(); this.delegateProvider = Validate.notNull(delegateProvider); } @@ -110,7 +94,7 @@ public class JPEGImageWriterSpi extends ImageWriterSpi { } if (delegateProvider != null) { - // Order before com.sun provider, to aid ImageIO in selecting our reader + // Order before com.sun provider, to aid ImageIO in selecting our writer registry.setOrdering((Class) category, this, delegateProvider); } else { @@ -130,7 +114,7 @@ public class JPEGImageWriterSpi extends ImageWriterSpi { } @Override - public ImageWriter createWriterInstance(Object extension) throws IOException { + public ImageWriter createWriterInstance(final Object extension) throws IOException { return new JPEGImageWriter(this, delegateProvider.createWriterInstance(extension)); } @@ -180,27 +164,27 @@ public class JPEGImageWriterSpi extends ImageWriterSpi { } @Override - public IIOMetadataFormat getStreamMetadataFormat(String formatName) { + public IIOMetadataFormat getStreamMetadataFormat(final String formatName) { return delegateProvider.getStreamMetadataFormat(formatName); } @Override - public IIOMetadataFormat getImageMetadataFormat(String formatName) { + public IIOMetadataFormat getImageMetadataFormat(final String formatName) { return delegateProvider.getImageMetadataFormat(formatName); } @Override - public boolean canEncodeImage(ImageTypeSpecifier type) { + public boolean canEncodeImage(final ImageTypeSpecifier type) { return delegateProvider.canEncodeImage(type); } @Override - public boolean canEncodeImage(RenderedImage im) { + public boolean canEncodeImage(final RenderedImage im) { return delegateProvider.canEncodeImage(im); } @Override - public String getDescription(Locale locale) { + public String getDescription(final Locale locale) { return delegateProvider.getDescription(locale); } diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGProviderInfo.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGProviderInfo.java new file mode 100644 index 00000000..961a877c --- /dev/null +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGProviderInfo.java @@ -0,0 +1,27 @@ +package com.twelvemonkeys.imageio.plugins.jpeg; + +import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo; + +/** + * JPEGProviderInfo. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: JPEGProviderInfo.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +final class JPEGProviderInfo extends ReaderWriterProviderInfo { + protected JPEGProviderInfo() { + super( + JPEGProviderInfo.class, + new String[] {"JPEG", "jpeg", "JPG", "jpg"}, + new String[] {"jpg", "jpeg"}, + new String[] {"image/jpeg"}, + "com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageReader", + new String[] {"com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageReaderSpi"}, + "com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageWriter", + new String[] {"com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageWriterSpi"}, + false, null, null, null, null, + true, null, null, null, null + ); + } +}