@SuppressWarnings("unchecked") @Override public void onRegistration(final ServiceRegistry registry, final Class<?> category) { ImageReaderSpi defaultProvider = lookupProviderByName(registry, "com.sun.imageio.plugins.bmp.BMPImageReaderSpi", ImageReaderSpi.class); if (defaultProvider != null) { // Order before com.sun provider, to aid ImageIO in selecting our reader registry.setOrdering((Class<ImageReaderSpi>) category, this, defaultProvider); } }
@SuppressWarnings("unchecked") @Override public void onRegistration(final ServiceRegistry registry, final Class<?> category) { // Make sure we're ordered before the new JEP 262 JRE bundled TIFF plugin ImageWriterSpi sunSpi = lookupProviderByName(registry, "com.sun.imageio.plugins.tiff.TIFFImageWriterSpi", ImageWriterSpi.class); if (sunSpi != null && sunSpi.getVendorName() != null && sunSpi.getVendorName().startsWith("Oracle")) { registry.setOrdering((Class<ImageWriterSpi>) category, this, sunSpi); } }
@SuppressWarnings({"unchecked", "deprecation"}) @Override public void onRegistration(final ServiceRegistry registry, final Class<?> category) { if (delegateProvider == null) { // Install delegate now delegateProvider = lookupProviderByName(registry, "com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi", ImageReaderSpi.class); } if (delegateProvider != null) { // Order before com.sun provider, to aid ImageIO in selecting our reader registry.setOrdering((Class<ImageReaderSpi>) category, this, delegateProvider); } else { // Or, if no delegate is found, silently deregister from the registry IIOUtil.deregisterProvider(registry, this, category); } }
@SuppressWarnings("unchecked") @Override public void onRegistration(final ServiceRegistry registry, final Class<?> category) { // Make sure we're ordered before the new JEP 262 JRE bundled TIFF plugin // or the Apple-provided TIFF plugin on OS X (which both happen to have the same class name)... ImageReaderSpi sunSpi = lookupProviderByName(registry, "com.sun.imageio.plugins.tiff.TIFFImageReaderSpi", ImageReaderSpi.class); if (sunSpi != null && sunSpi.getVendorName() != null && (sunSpi.getVendorName().startsWith("Apple") || sunSpi.getVendorName().startsWith("Oracle"))) { registry.setOrdering((Class<ImageReaderSpi>) category, this, sunSpi); } }
@SuppressWarnings({"unchecked"}) @Override public void onRegistration(final ServiceRegistry registry, final Class<?> category) { if (delegateProvider == null) { // Install delegate now delegateProvider = lookupProviderByName(registry, "com.sun.imageio.plugins.jpeg.JPEGImageWriterSpi", ImageWriterSpi.class); } if (delegateProvider != null) { // Order before com.sun provider, to aid ImageIO in selecting our writer registry.setOrdering((Class<ImageWriterSpi>) category, this, delegateProvider); } else { // Or, if no delegate is found, silently deregister from the registry deregisterProvider(registry, this, category); } }
@SuppressWarnings("unchecked") @Override public void onRegistration(final ServiceRegistry registry, final Class<?> category) { ImageReaderSpi defaultProvider = lookupProviderByName(registry, "com.sun.imageio.plugins.bmp.BMPImageReaderSpi", ImageReaderSpi.class); if (defaultProvider != null) { // Order before com.sun provider, to aid ImageIO in selecting our reader registry.setOrdering((Class<ImageReaderSpi>) category, this, defaultProvider); } }
/** Instruct registry to prioritize this ReaderSpi over other JPEG readers. **/ @SuppressWarnings("unchecked") @Override public void onRegistration(final ServiceRegistry registry, final Class<?> category) { Stream.of( "com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageReaderSpi", "com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi").forEach((clsName) -> { try { ImageReaderSpi defaultProvider = (ImageReaderSpi) registry.getServiceProviderByClass(Class.forName(clsName)); registry.setOrdering((Class<ImageReaderSpi>) category, this, defaultProvider); } catch (ClassNotFoundException e) { // NOP } }); }
/** Instruct registry to prioritize this WriterSpi over other JPEG writers. **/ @SuppressWarnings("unchecked") @Override public void onRegistration(final ServiceRegistry registry, final Class<?> category) { Stream.of( "com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageWriterSpi", "com.sun.imageio.plugins.jpeg.JPEGImageWriterSpi").forEach((clsName) -> { try { ImageWriterSpi defaultProvider = (ImageWriterSpi) registry.getServiceProviderByClass(Class.forName(clsName)); registry.setOrdering((Class<ImageWriterSpi>) category, this, defaultProvider); } catch (ClassNotFoundException e) { // NOP } }); }
public void onRegistration(ServiceRegistry registry, Class<?> category) { super.onRegistration(registry, category); Class<ImageInputStreamSpi> targetClass = ImageInputStreamSpi.class; for (Iterator<? extends ImageInputStreamSpi> i = registry.getServiceProviders(targetClass, true); i.hasNext(); ) { ImageInputStreamSpi other = i.next(); if (this != other) registry.setOrdering(targetClass, this, other); } } /**
public void onRegistration(ServiceRegistry registry, Class category) { if (registered) { return; } registered = true; // Set pairwise ordering to give codecLib writer precedence. Class codecLibWriterSPIClass = null; try { codecLibWriterSPIClass = Class.forName("com.github.jaiimageio.jpeg2000.impl.J2KImageWriterCodecLibSpi"); } catch(Throwable t) { // Ignore it. } if(codecLibWriterSPIClass != null) { Object codecLibWriterSPI = registry.getServiceProviderByClass(codecLibWriterSPIClass); if(codecLibWriterSPI != null) { registry.setOrdering(category, codecLibWriterSPI, this); } } }
public void onRegistration(ServiceRegistry registry, Class category) { if (registered) { return; } registered = true; // Set pairwise ordering to give codecLib reader precedence. Class codecLibReaderSPIClass = null; try { codecLibReaderSPIClass = Class.forName("com.github.jaiimageio.jpeg2000.impl.J2KImageReaderCodecLibSpi"); } catch(Throwable t) { // Ignore it. } if(codecLibReaderSPIClass != null) { Object codecLibReaderSPI = registry.getServiceProviderByClass(codecLibReaderSPIClass); if(codecLibReaderSPI != null) { registry.setOrdering(category, codecLibReaderSPI, this); } } }
public void onRegistration(ServiceRegistry registry, Class category) { if (registered) { return; } registered = true; // Set pairwise ordering to give codecLib writer precedence. Class codecLibWriterSPIClass = null; try { codecLibWriterSPIClass = Class.forName("com.sun.media.imageioimpl.plugins.jpeg2000.J2KImageWriterCodecLibSpi"); } catch(Throwable t) { // Ignore it. } if(codecLibWriterSPIClass != null) { Object codecLibWriterSPI = registry.getServiceProviderByClass(codecLibWriterSPIClass); if(codecLibWriterSPI != null) { registry.setOrdering(category, codecLibWriterSPI, this); } } }
private void deregisterOtherSPIs(ServiceRegistry registry, Class category) { if (registry == null) { return; } try { Iterator<ImageReaderSpi> iter = registry.getServiceProviders(ImageReaderSpi.class, new ContainsFilter(readerFormatNamesMethod, "JPEG"), true); for (; iter.hasNext();) { ImageReaderSpi spi = iter.next(); if (!spi.getClass().equals(this.getClass())) { if (LOGGER.isLoggable(Level.FINE)) { LOGGER.fine("Deprioritizing " + spi); } // ETj: we used to deregister the other ones, but they may be // explicitely requested // registry.deregisterServiceProvider(spi); registry.setOrdering(category, this, spi); } } } catch (IllegalArgumentException e) { } }
@SuppressWarnings( "unchecked" ) private static void addApplicationClasspathExportFileTypes(ExportFileTypeRegistry registry) { ClassLoader classLoader = (loader != null) ? loader : Thread.currentThread().getContextClassLoader(); Iterator<Class<?>> iterator = categories.iterator(); while (iterator.hasNext()) { Class<?> category = iterator.next(); Iterator<Object> providers = Service.providers(category, classLoader).iterator(); Object previous = null; while (providers.hasNext()) { Object current = providers.next(); registry.service.registerServiceProvider(current); if (previous != null) { registry.service.setOrdering((Class<Object>)category, previous, current); } previous = current; } } } }
@SuppressWarnings( "unchecked" ) private static void addApplicationClasspathExportFileTypes(ExportFileTypeRegistry registry) { ClassLoader classLoader = (loader != null) ? loader : Thread.currentThread().getContextClassLoader(); Iterator<Class<?>> iterator = categories.iterator(); while (iterator.hasNext()) { Class<?> category = iterator.next(); Iterator<Object> providers = Service.providers(category, classLoader).iterator(); Object previous = null; while (providers.hasNext()) { Object current = providers.next(); registry.service.registerServiceProvider(current); if (previous != null) { registry.service.setOrdering((Class<Object>)category, previous, current); } previous = current; } } } }
@SuppressWarnings({"unchecked", "deprecation"}) @Override public void onRegistration(final ServiceRegistry registry, final Class<?> category) { if (delegateProvider == null) { // Install delegate now delegateProvider = lookupProviderByName(registry, "com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi", ImageReaderSpi.class); } if (delegateProvider != null) { // Order before com.sun provider, to aid ImageIO in selecting our reader registry.setOrdering((Class<ImageReaderSpi>) category, this, delegateProvider); } else { // Or, if no delegate is found, silently deregister from the registry IIOUtil.deregisterProvider(registry, this, category); } }
@SuppressWarnings("unchecked") @Override public void onRegistration(final ServiceRegistry registry, final Class<?> category) { // Make sure we're ordered before the Apple-provided TIFF reader on OS X try { Class<ImageReaderSpi> providerClass = (Class<ImageReaderSpi>) Class.forName("com.sun.imageio.plugins.tiff.TIFFImageReaderSpi"); ImageReaderSpi appleSpi = registry.getServiceProviderByClass(providerClass); if (appleSpi != null && appleSpi.getVendorName() != null && appleSpi.getVendorName().startsWith("Apple")) { registry.setOrdering((Class<ImageReaderSpi>) category, this, appleSpi); } } catch (ClassNotFoundException ignore) { // This is actually OK, now we don't have to do anything } }
@SuppressWarnings({"unchecked"}) @Override public void onRegistration(final ServiceRegistry registry, final Class<?> category) { if (delegateProvider == null) { // Install delegate now delegateProvider = lookupProviderByName(registry, "com.sun.imageio.plugins.jpeg.JPEGImageWriterSpi", ImageWriterSpi.class); } if (delegateProvider != null) { // Order before com.sun provider, to aid ImageIO in selecting our writer registry.setOrdering((Class<ImageWriterSpi>) category, this, delegateProvider); } else { // Or, if no delegate is found, silently deregister from the registry deregisterProvider(registry, this, category); } }
public void onRegistration(ServiceRegistry registry, Class category) { super.onRegistration(registry, category); if (registered) { return; } registered = true; final Iterator<ImageReaderWriterSpi> writers = ImageIOUtilities.getImageReaderWriterSPI( registry, new TIFFImageReaderSpi.TIFFFilter(false), "TIFF", true).iterator(); while (writers.hasNext()) { final ImageWriterSpi spi = (ImageWriterSpi) writers.next(); if (spi == this) { continue; } registry.deregisterServiceProvider(spi); registry.setOrdering(category, this, spi); } } }
@Override public void onRegistration(ServiceRegistry registry, Class category) { super.onRegistration(registry, category); if (registered) { return; } registered = true; Iterator<ImageReaderWriterSpi> readers = ImageIOUtilities .getImageReaderWriterSPI(registry, new TIFFFilter(true), "TIFF", true).iterator(); while (readers.hasNext()) { final ImageReaderSpi spi = (ImageReaderSpi) readers.next(); if (spi == this) { continue; } registry.deregisterServiceProvider(spi); registry.setOrdering(category, this, spi); } }