/** * Returns an <code>Iterator</code> containing all currently registered <code>ImageTranscoder</code>s that * claim to be able to transcode between the metadata of the given <code>ImageReader</code> and * <code>ImageWriter</code>. * * @param reader * an <code>ImageReader</code>. * @param writer * an <code>ImageWriter</code>. * * @return an <code>Iterator</code> containing <code>ImageTranscoder</code>s. * * @exception IllegalArgumentException * if <code>reader</code> or <code>writer</code> is <code>null</code>. */ public static Iterator<ImageTranscoder> getImageTranscoders(ImageReader reader, ImageWriter writer) { if (reader == null) { throw new IllegalArgumentException("reader == null!"); } if (writer == null) { throw new IllegalArgumentException("writer == null!"); } ImageReaderSpi readerSpi = reader.getOriginatingProvider(); ImageWriterSpi writerSpi = writer.getOriginatingProvider(); ServiceRegistry.Filter filter = new TranscoderFilter(readerSpi, writerSpi); Iterator iter; // Ensure category is present try { iter = theRegistry.getServiceProviders(ImageTranscoderSpi.class, filter, true); } catch (IllegalArgumentException e) { return new HashSet().iterator(); } return new ImageTranscoderIterator(iter); }
/** * Returns an instance of the <code>ImageTranscoder</code> * implementation associated with this service provider. * * @return an <code>ImageTranscoder</code> instance. */ public abstract ImageTranscoder createTranscoderInstance();
/** * Returns an instance of the {@code ImageTranscoder} * implementation associated with this service provider. * * @return an {@code ImageTranscoder} instance. */ public abstract ImageTranscoder createTranscoderInstance();
public abstract ImageTranscoder createTranscoderInstance();