@Override public Class[] getOutputTypes() { return delegateProvider.getOutputTypes(); } }
@Test public void getOutputTypes() { assertNotNull(spi.getOutputTypes()); } }
@Test public void getOutputTypes() { assertNotNull(spi.getOutputTypes()); } }
continue; outputTypes = spi.getOutputTypes();
@Override public Class[] getOutputTypes() { return delegateProvider.getOutputTypes(); } }
/** * Returns {@code true} if the given writer provider supports the given output type. * If the given provider is {@code null}, then this method assumes that the standard * {@link ImageOutputStream} type is expected as in the Image I/O specification. * * @see #open(int) */ private static boolean isSupportedOutput(final ImageWriterSpi spi, final Class<?> type) { if (spi == null) { return ImageOutputStream.class.isAssignableFrom(type); } for (final Class<?> supportedType : spi.getOutputTypes()) { if (supportedType.isAssignableFrom(type)) { return true; } } return false; }
/** * Construct a default observer with no filename set and it has not yet * captured an image. */ protected BaseJPEGImageObserver() { Iterator<ImageWriter> jpeg_writers = ImageIO.getImageWritersByMIMEType("image/jpeg"); while(jpeg_writers.hasNext() && targetWriter == null) { ImageWriter possible_writer = jpeg_writers.next(); ImageWriterSpi spi = possible_writer.getOriginatingProvider(); Class[] output_types = spi.getOutputTypes(); for(int i = 0; i < output_types.length; i++) { if(ImageOutputStream.class.isAssignableFrom(output_types[i])) { targetWriter = possible_writer; break; } } } writeParams = targetWriter.getDefaultWriteParam(); writeParams.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); writeParams.setCompressionQuality(0.9f); } }
@Test public void getOutputTypes() { assertNotNull(spi.getOutputTypes()); } }
@Test public void getOutputTypes() { assertNotNull(spi.getOutputTypes()); } }
/** * Validates the given provider of image writers. * First, this method verifies that mandatory elements are non-null, arrays are non-empty * (Image I/O specification requires them to be {@code null} rather than empty), and class * names are valid. Next, this method invokes {@link #validate(IIOMetadataFormat)} for each * metadata format (which can be null). * * @param provider the provider to validate, or {@code null} if none. */ public void validate(final ImageWriterSpi provider) { if (provider != null) { validateProvider(provider, ImageWriter.class); final Class<?>[] outputTypes = provider.getOutputTypes(); mandatory("ImageWriterSpi: shall have an outputTypes array.", outputTypes); validateArray("outputTypes", outputTypes); final String[] imageReaderSpiNames = provider.getImageReaderSpiNames(); validateArray("imageReaderSpiNames", imageReaderSpiNames); if (imageReaderSpiNames != null) { final ClassLoader loader = provider.getClass().getClassLoader(); for (int i=0; i<imageReaderSpiNames.length; i++) { final String field = "imageReaderSpiNames[" + i + ']'; final String className = imageReaderSpiNames[i]; assertNotNull(field + " can not be null.", className); validateClass(field, ImageReaderSpi.class, loader, className); } } } }
continue; outputTypes = spi.getOutputTypes();
continue; outputTypes = spi.getOutputTypes();