Java 类javax.imageio.spi.ImageInputStreamSpi 实例源码

项目:openjdk-jdk10    文件:NullStreamCheckTest.java   
public static void main(String[] args) throws IOException,
                                              MalformedURLException {

    /* deregister ImageOutputStreamSpi so that we creatImageOutputStream
     * returns null while writing.
     */
    localRegistry.deregisterAll(ImageOutputStreamSpi.class);
    /* verify possible ImageIO.write() scenario's for null stream output
     * from createImageOutputStream() API in ImageIO class.
     */
    verifyFileWrite();
    verifyStreamWrite();

    /* deregister ImageInputStreamSpi so that we creatImageInputStream
     * returns null while reading.
     */
    localRegistry.deregisterAll(ImageInputStreamSpi.class);
    /* verify possible ImageIO.read() scenario's for null stream output
     * from createImageInputStream API in ImageIO class.
     */
    verifyFileRead();
    verifyStreamRead();
    verifyUrlRead();
}
项目:openjdk9    文件:NullStreamCheckTest.java   
public static void main(String[] args) throws IOException,
                                              MalformedURLException {

    /* deregister ImageOutputStreamSpi so that we creatImageOutputStream
     * returns null while writing.
     */
    localRegistry.deregisterAll(ImageOutputStreamSpi.class);
    /* verify possible ImageIO.write() scenario's for null stream output
     * from createImageOutputStream() API in ImageIO class.
     */
    verifyFileWrite();
    verifyStreamWrite();

    /* deregister ImageInputStreamSpi so that we creatImageInputStream
     * returns null while reading.
     */
    localRegistry.deregisterAll(ImageInputStreamSpi.class);
    /* verify possible ImageIO.read() scenario's for null stream output
     * from createImageInputStream API in ImageIO class.
     */
    verifyFileRead();
    verifyStreamRead();
    verifyUrlRead();
}
项目:s2tbx    文件:RapidEyeReader.java   
private void registerSpi() {
    // We will register a new Spi for creating NIO-based ImageInputStreams.
    final IIORegistry defaultInstance = IIORegistry.getDefaultInstance();
    Iterator<ImageInputStreamSpi> serviceProviders = defaultInstance.getServiceProviders(ImageInputStreamSpi.class, true);
    ImageInputStreamSpi toUnorder = null;
    if (defaultInstance.getServiceProviderByClass(FileImageInputStreamSpi.class) == null) {
        // register only if not already registered
        while (serviceProviders.hasNext()) {
            ImageInputStreamSpi current = serviceProviders.next();
            if (current.getInputClass() == File.class) {
                toUnorder = current;
                break;
            }
        }
        channelImageInputStreamSpi = new FileImageInputStreamSpi();
        defaultInstance.registerServiceProvider(channelImageInputStreamSpi);
        if (toUnorder != null) {
            // Make the custom Spi to be the first one to be used.
            defaultInstance.setOrdering(ImageInputStreamSpi.class, channelImageInputStreamSpi, toUnorder);
        }
    }
}
项目:s2tbx    文件:GeoTiffBasedReader.java   
/**
 * Registers a file image input strwM SPI for image input stream, if none is yet registered.
 */
protected void registerSpi() {
    final IIORegistry defaultInstance = IIORegistry.getDefaultInstance();
    Iterator<ImageInputStreamSpi> serviceProviders = defaultInstance.getServiceProviders(ImageInputStreamSpi.class, true);
    ImageInputStreamSpi toUnorder = null;
    if (defaultInstance.getServiceProviderByClass(FileImageInputStreamSpi.class) == null) {
        // register only if not already registered
        while (serviceProviders.hasNext()) {
            ImageInputStreamSpi current = serviceProviders.next();
            if (current.getInputClass() == File.class) {
                toUnorder = current;
                break;
            }
        }
        imageInputStreamSpi = new FileImageInputStreamSpi();
        defaultInstance.registerServiceProvider(imageInputStreamSpi);
        if (toUnorder != null) {
            // Make the custom Spi to be the first one to be used.
            defaultInstance.setOrdering(ImageInputStreamSpi.class, imageInputStreamSpi, toUnorder);
        }
    }
}
项目:s2tbx    文件:SpotDimapProductReader.java   
private void registerSpi() {
    // We will register a new Spi for creating NIO-based ImageInputStreams.
    final IIORegistry defaultInstance = IIORegistry.getDefaultInstance();
    Iterator<ImageInputStreamSpi> serviceProviders = defaultInstance.getServiceProviders(ImageInputStreamSpi.class, true);
    ImageInputStreamSpi toUnorder = null;
    if (defaultInstance.getServiceProviderByClass(FileImageInputStreamSpi.class) == null) {
        // register only if not already registered
        while (serviceProviders.hasNext()) {
            ImageInputStreamSpi current = serviceProviders.next();
            if (current.getInputClass() == File.class) {
                toUnorder = current;
                break;
            }
        }
        channelImageInputStreamSpi = new FileImageInputStreamSpi();
        defaultInstance.registerServiceProvider(channelImageInputStreamSpi);
        if (toUnorder != null) {
            // Make the custom Spi to be the first one to be used.
            defaultInstance.setOrdering(ImageInputStreamSpi.class, channelImageInputStreamSpi, toUnorder);
        }
    }
}
项目:openjdk-jdk10    文件:ServiceRegistrySyncTest.java   
public static void main(String[] args) throws InterruptedException {

        final ArrayList<Class<?>> services = new ArrayList<Class<?>>();
        services.add(ImageInputStreamSpi.class);

        final ServiceRegistry reg = new ServiceRegistry(services.iterator());

        //create new thread for Registerer and Consumer Class
        Thread registerer = new Thread(new Registerer(reg));
        Thread consumer = new Thread(new Consumer(reg));

        //run both registerer and consumer thread parallely
        registerer.start();
        consumer.start();
    }
项目:openjdk-jdk10    文件:ServiceRegistrySyncTest.java   
@Override
public void run() {
    start = System.currentTimeMillis();
    end = start + duration;
    while (start < end) {
        //access the ServiceProvider API
        reg.getServiceProviders(ImageInputStreamSpi.class, true);
        start = System.currentTimeMillis();
    }
}
项目:openjdk9    文件:ServiceRegistrySyncTest.java   
public static void main(String[] args) throws InterruptedException {

        final ArrayList<Class<?>> services = new ArrayList<Class<?>>();
        services.add(ImageInputStreamSpi.class);

        final ServiceRegistry reg = new ServiceRegistry(services.iterator());

        //create new thread for Registerer and Consumer Class
        Thread registerer = new Thread(new Registerer(reg));
        Thread consumer = new Thread(new Consumer(reg));

        //run both registerer and consumer thread parallely
        registerer.start();
        consumer.start();
    }
项目:openjdk9    文件:ServiceRegistrySyncTest.java   
@Override
public void run() {
    start = System.currentTimeMillis();
    end = start + duration;
    while (start < end) {
        //access the ServiceProvider API
        reg.getServiceProviders(ImageInputStreamSpi.class, true);
        start = System.currentTimeMillis();
    }
}
项目:javify    文件:ImageIO.java   
/**
 * Create an image input stream from the given object.  The
 * collection of ImageInputStreamSpis registered with the
 * IIORegistry is searched for an image input stream that can take
 * input from the given object.  null is returned if no such SPI is
 * registered.
 *
 * The image data will be cached in the current cache directory if
 * caching is enabled.
 *
 * @param input an object from which to read image data
 *
 * @return an ImageInputStream that can read data from input, or
 * null
 *
 * @exception IllegalArgumentException if input is null
 * @exception IOException if caching is required but not enabled
 */
public static ImageInputStream createImageInputStream (Object input)
  throws IOException
{
  if (input == null)
    throw new IllegalArgumentException ("null argument");

  Iterator spis = getRegistry().getServiceProviders
    (ImageInputStreamSpi.class, true);

  ImageInputStreamSpi foundSpi = null;

  while(spis.hasNext())
    {
      ImageInputStreamSpi spi = (ImageInputStreamSpi) spis.next();

      if (input.getClass().equals(spi.getInputClass()))
        {
          foundSpi = spi;
          break;
        }
    }

  return foundSpi == null ? null :
    foundSpi.createInputStreamInstance (input,
                                        getUseCache(),
                                        getCacheDirectory());
}
项目:jvm-stm    文件:ImageIO.java   
/**
  * Create an image input stream from the given object.  The
  * collection of ImageInputStreamSpis registered with the
  * IIORegistry is searched for an image input stream that can take
  * input from the given object.  null is returned if no such SPI is
  * registered.
  *
  * The image data will be cached in the current cache directory if
  * caching is enabled.
  *
  * @param input an object from which to read image data
  *
  * @return an ImageInputStream that can read data from input, or
  * null
  *
  * @exception IllegalArgumentException if input is null
  * @exception IOException if caching is required but not enabled
  */
 public static ImageInputStream createImageInputStream (Object input)
   throws IOException
 {
   if (input == null)
     throw new IllegalArgumentException ("null argument");

   Iterator spis = getRegistry().getServiceProviders
     (ImageInputStreamSpi.class, true);

   ImageInputStreamSpi foundSpi = null;

   while(spis.hasNext())
     {
ImageInputStreamSpi spi = (ImageInputStreamSpi) spis.next();

if (input.getClass().equals(spi.getInputClass()))
  {
    foundSpi = spi;
    break;
  }
     }

   return foundSpi == null ? null :
     foundSpi.createInputStreamInstance (input,
                                         getUseCache(),
                                         getCacheDirectory());
 }
项目:JamVM-PH    文件:ImageIO.java   
/**
  * Create an image input stream from the given object.  The
  * collection of ImageInputStreamSpis registered with the
  * IIORegistry is searched for an image input stream that can take
  * input from the given object.  null is returned if no such SPI is
  * registered.
  *
  * The image data will be cached in the current cache directory if
  * caching is enabled.
  *
  * @param input an object from which to read image data
  *
  * @return an ImageInputStream that can read data from input, or
  * null
  *
  * @exception IllegalArgumentException if input is null
  * @exception IOException if caching is required but not enabled
  */
 public static ImageInputStream createImageInputStream (Object input)
   throws IOException
 {
   if (input == null)
     throw new IllegalArgumentException ("null argument");

   Iterator spis = getRegistry().getServiceProviders
     (ImageInputStreamSpi.class, true);

   ImageInputStreamSpi foundSpi = null;

   while(spis.hasNext())
     {
ImageInputStreamSpi spi = (ImageInputStreamSpi) spis.next();

if (input.getClass().equals(spi.getInputClass()))
  {
    foundSpi = spi;
    break;
  }
     }

   return foundSpi == null ? null :
     foundSpi.createInputStreamInstance (input,
                                         getUseCache(),
                                         getCacheDirectory());
 }
项目:classpath    文件:ImageIO.java   
/**
 * Create an image input stream from the given object.  The
 * collection of ImageInputStreamSpis registered with the
 * IIORegistry is searched for an image input stream that can take
 * input from the given object.  null is returned if no such SPI is
 * registered.
 *
 * The image data will be cached in the current cache directory if
 * caching is enabled.
 *
 * @param input an object from which to read image data
 *
 * @return an ImageInputStream that can read data from input, or
 * null
 *
 * @exception IllegalArgumentException if input is null
 * @exception IOException if caching is required but not enabled
 */
public static ImageInputStream createImageInputStream (Object input)
  throws IOException
{
  if (input == null)
    throw new IllegalArgumentException ("null argument");

  Iterator spis = getRegistry().getServiceProviders
    (ImageInputStreamSpi.class, true);

  ImageInputStreamSpi foundSpi = null;

  while(spis.hasNext())
    {
      ImageInputStreamSpi spi = (ImageInputStreamSpi) spis.next();

      if (input.getClass().equals(spi.getInputClass()))
        {
          foundSpi = spi;
          break;
        }
    }

  return foundSpi == null ? null :
    foundSpi.createInputStreamInstance (input,
                                        getUseCache(),
                                        getCacheDirectory());
}