#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

View File

@@ -29,6 +29,7 @@
package com.twelvemonkeys.imageio.plugins.bmp;
import com.twelvemonkeys.imageio.spi.ImageReaderSpiBase;
import com.twelvemonkeys.imageio.util.IIOUtil;
import javax.imageio.ImageReader;
import javax.imageio.spi.ImageReaderSpi;
@@ -37,9 +38,10 @@ import javax.imageio.stream.ImageInputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.Iterator;
import java.util.Locale;
import static com.twelvemonkeys.imageio.util.IIOUtil.lookupProviderByName;
/**
* BMPImageReaderSpi
*
@@ -51,24 +53,10 @@ public final class BMPImageReaderSpi extends ImageReaderSpiBase {
super(new BMPProviderInfo());
}
static ImageReaderSpi lookupDefaultProvider(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.bmp.BMPImageReaderSpi")) {
return provider;
}
}
return null;
}
@SuppressWarnings("unchecked")
@Override
public void onRegistration(final ServiceRegistry registry, final Class<?> category) {
ImageReaderSpi defaultProvider = lookupDefaultProvider(registry);
ImageReaderSpi defaultProvider = lookupProviderByName(registry, "com.sun.imageio.plugins.bmp.BMPImageReaderSpi");
if (defaultProvider != null) {
// Order before com.sun provider, to aid ImageIO in selecting our reader