1 /* 2 * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package javax.imageio.spi; 27 28 import javax.imageio.ImageTranscoder; 29 30 /** 31 * The service provider interface (SPI) for <code>ImageTranscoder</code>s. 32 * For more information on service provider classes, see the class comment 33 * for the <code>IIORegistry</code> class. 34 * 35 * @see IIORegistry 36 * @see javax.imageio.ImageTranscoder 37 * 38 */ 39 public abstract class ImageTranscoderSpi extends IIOServiceProvider { 40 41 /** 42 * Constructs a blank <code>ImageTranscoderSpi</code>. It is up 43 * to the subclass to initialize instance variables and/or 44 * override method implementations in order to provide working 45 * versions of all methods. 46 */ 47 protected ImageTranscoderSpi() { 48 } 49 50 /** 51 * Constructs an <code>ImageTranscoderSpi</code> with a given set 52 * of values. 53 * 54 * @param vendorName the vendor name. 55 * @param version a version identifier. 56 */ 57 public ImageTranscoderSpi(String vendorName, 58 String version) { 59 super(vendorName, version); 60 } 61 62 /** 63 * Returns the fully qualified class name of an 64 * <code>ImageReaderSpi</code> class that generates 65 * <code>IIOMetadata</code> objects that may be used as input to 66 * this transcoder. 67 * 68 * @return a <code>String</code> containing the fully-qualified 69 * class name of the <code>ImageReaderSpi</code> implementation class. 70 * 71 * @see ImageReaderSpi 72 */ 73 public abstract String getReaderServiceProviderName(); 74 75 /** 76 * Returns the fully qualified class name of an 77 * <code>ImageWriterSpi</code> class that generates 78 * <code>IIOMetadata</code> objects that may be used as input to 79 * this transcoder. 80 * 81 * @return a <code>String</code> containing the fully-qualified 82 * class name of the <code>ImageWriterSpi</code> implementation class. 83 * 84 * @see ImageWriterSpi 85 */ 86 public abstract String getWriterServiceProviderName(); 87 88 /** 89 * Returns an instance of the <code>ImageTranscoder</code> 90 * implementation associated with this service provider. 91 * 92 * @return an <code>ImageTranscoder</code> instance. 93 */ 94 public abstract ImageTranscoder createTranscoderInstance(); 95 }