#292 Preparing for Java 9 compatibility + general clean-up

This commit is contained in:
Harald Kuhr
2016-11-15 21:40:59 +01:00
parent 37e6d31ed9
commit ab13084f44
19 changed files with 89 additions and 154 deletions
@@ -98,7 +98,7 @@ import java.util.List;
* @author last modified by $Author: haraldk$
* @version $Id: JPEGImageReader.java,v 1.0 24.01.11 16.37 haraldk Exp$
*/
public class JPEGImageReader extends ImageReaderBase {
public final class JPEGImageReader extends ImageReaderBase {
// TODO: Allow automatic rotation based on EXIF rotation field?
// TODO: Create a simplified native metadata format that is closer to the actual JPEG stream AND supports EXIF in a sensible way
// TODO: As we already parse the SOF segments, maybe we should stop delegating getWidth/getHeight etc?
@@ -41,6 +41,8 @@ import java.io.IOException;
import java.util.Iterator;
import java.util.Locale;
import static com.twelvemonkeys.imageio.util.IIOUtil.lookupProviderByName;
/**
* JPEGImageReaderSpi
*
@@ -48,7 +50,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 ImageReaderSpiBase {
public final class JPEGImageReaderSpi extends ImageReaderSpiBase {
protected ImageReaderSpi delegateProvider;
/**
@@ -64,41 +66,22 @@ public class JPEGImageReaderSpi extends ImageReaderSpiBase {
*
* @param delegateProvider a {@code ImageReaderSpi} that can read JPEG.
*/
protected JPEGImageReaderSpi(final ImageReaderSpi delegateProvider) {
JPEGImageReaderSpi(final ImageReaderSpi delegateProvider) {
this();
this.delegateProvider = Validate.notNull(delegateProvider);
}
/**
* Constructor for subclasses.
*
* @param info
*/
protected JPEGImageReaderSpi(final ReaderWriterProviderInfo info) {
private JPEGImageReaderSpi(final ReaderWriterProviderInfo info) {
super(info);
}
static ImageReaderSpi lookupDelegateProvider(final ServiceRegistry registry) {
Iterator<ImageReaderSpi> providers = registry.getServiceProviders(ImageReaderSpi.class, true);
while (providers.hasNext()) {
ImageReaderSpi provider = providers.next();
if (provider.getClass().getName().equals("com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi")) {
return provider;
}
}
return null;
}
@SuppressWarnings({"unchecked", "deprecation"})
@Override
public void onRegistration(final ServiceRegistry registry, final Class<?> category) {
if (delegateProvider == null) {
// Install delegate now
delegateProvider = lookupDelegateProvider(registry);
delegateProvider = lookupProviderByName(registry, "com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi");
}
if (delegateProvider != null) {
@@ -52,7 +52,7 @@ import java.util.Locale;
* @author last modified by $Author: haraldk$
* @version $Id: JPEGImageWriter.java,v 1.0 06.02.12 16:39 haraldk Exp$
*/
public class JPEGImageWriter extends ImageWriterBase {
public final class JPEGImageWriter extends ImageWriterBase {
// TODO: Extend with functionality to be able to write CMYK JPEGs as well?
/** Our JPEG writing delegate */
@@ -42,6 +42,8 @@ import java.io.IOException;
import java.util.Iterator;
import java.util.Locale;
import static com.twelvemonkeys.imageio.util.IIOUtil.*;
/**
* JPEGImageWriterSpi
*
@@ -70,27 +72,13 @@ public class JPEGImageWriterSpi extends ImageWriterSpiBase {
this.delegateProvider = Validate.notNull(delegateProvider);
}
static ImageWriterSpi lookupDelegateProvider(final ServiceRegistry registry) {
Iterator<ImageWriterSpi> providers = registry.getServiceProviders(ImageWriterSpi.class, true);
while (providers.hasNext()) {
ImageWriterSpi provider = providers.next();
if (provider.getClass().getName().equals("com.sun.imageio.plugins.jpeg.JPEGImageWriterSpi")) {
return provider;
}
}
return null;
}
@SuppressWarnings({"unchecked"})
@Override
public void onRegistration(final ServiceRegistry registry, final Class<?> category) {
if (delegateProvider == null) {
// Install delegate now
delegateProvider = lookupDelegateProvider(registry);
delegateProvider = lookupProviderByName(registry, "com.sun.imageio.plugins.jpeg.JPEGImageWriterSpi");
}
if (delegateProvider != null) {
@@ -99,7 +87,7 @@ public class JPEGImageWriterSpi extends ImageWriterSpiBase {
}
else {
// Or, if no delegate is found, silently deregister from the registry
IIOUtil.deregisterProvider(registry, this, category);
deregisterProvider(registry, this, category);
}
}