#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

@@ -28,7 +28,6 @@
package com.twelvemonkeys.imageio.util;
import com.twelvemonkeys.image.ImageUtil;
import com.twelvemonkeys.imageio.spi.ProviderInfo;
import javax.imageio.IIOParam;
import javax.imageio.ImageIO;
@@ -155,28 +154,32 @@ public final class IIOUtil {
}
/**
* Creates a {@link ProviderInfo} instance for the given service provider.
* THIS METHOD WILL ME MOVED/RENAMED, DO NOT USE.
*
* @param pProviderClass the provider class to get info for.
* @return the newly created {@link ProviderInfo}.
* @param registry the registry to unregister from.
* @param provider the provider to unregister.
* @param category the category to unregister from.
*/
public static ProviderInfo getProviderInfo(final Class<? extends IIOServiceProvider> pProviderClass) {
return new ProviderInfo(pProviderClass.getPackage());
public static <T> void deregisterProvider(final ServiceRegistry registry, final IIOServiceProvider provider, final Class<T> category) {
// http://www.ibm.com/developerworks/java/library/j-jtp04298.html
registry.deregisterServiceProvider(category.cast(provider), category);
}
/**
* THIS METHOD WILL ME MOVED/RENAMED, DO NOT USE.
*
* @param pRegistry the registry to unregister from
* @param pProvider the provider to unregister
* @param pCategory the category to unregister from
* @param registry the registry to lookup from.
* @param providerClassName name of the provider class.
*
* @deprecated
* @return the provider instance, or {@code null}.
*/
public static <T> void deregisterProvider(final ServiceRegistry pRegistry, final IIOServiceProvider pProvider, final Class<T> pCategory) {
// http://www.ibm.com/developerworks/java/library/j-jtp04298.html
// TODO: Consider placing this method in a ImageReaderSpiBase class or similar
pRegistry.deregisterServiceProvider(pCategory.cast(pProvider), pCategory);
public static <T> T lookupProviderByName(final ServiceRegistry registry, final String providerClassName) {
try {
return (T) registry.getServiceProviderByClass(Class.forName(providerClassName));
}
catch (ClassNotFoundException ignore) {
return null;
}
}
/**
@@ -202,7 +205,7 @@ public final class IIOUtil {
}
private static String[] normalizeNames(final String[] names) {
SortedSet<String> normalizedNames = new TreeSet<String>();
SortedSet<String> normalizedNames = new TreeSet<>();
for (String name : names) {
normalizedNames.add(name.toUpperCase());