New SPI info.

This commit is contained in:
Harald Kuhr 2015-03-20 15:54:41 +01:00
parent b40d4dad17
commit 87777dfc2d
3 changed files with 47 additions and 52 deletions

View File

@ -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);
}

View File

@ -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<ImageWriterSpi>) 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);
}

View File

@ -0,0 +1,27 @@
package com.twelvemonkeys.imageio.plugins.jpeg;
import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo;
/**
* JPEGProviderInfo.
*
* @author <a href="mailto:harald.kuhr@gmail.com">Harald Kuhr</a>
* @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
);
}
}