java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

javax.imageio.spi
类 ImageInputStreamSpi

java.lang.Object
  继承者 javax.imageio.spi.IIOServiceProvider
      继承者 javax.imageio.spi.ImageInputStreamSpi
所有已实现的接口:
RegisterableService

public abstract class ImageInputStreamSpi
extends IIOServiceProvider

用于 ImageInputStream 的服务提供程序接口 (SPI)。有关服务提供程序接口的更多信息,请参见 IIORegistry 类的类注释。

此接口允许由 ImageInputStream 的实例“包装”任意对象。例如,一个特定的 ImageInputStreamSpi 可能允许使用一般的 InputStream 充当输入源;另一个可能使用来自 URL 的输入。

通过将 ImageInputStream 的创建作为一个可插入的服务,实现了在不更改 API 的情况下对后续的输入源的处理。另外,应用程序可以透明的方式安装和使用 ImageInputStream 的高性能实现(例如,用于特定平台的本地实现)。

另请参见:
IIORegistry, ImageInputStream

字段摘要
protected  Class<?> inputClass
          指示供 createInputStreamInstance 方法使用的合法对象类型的 Class 对象。
 
从类 javax.imageio.spi.IIOServiceProvider 继承的字段
vendorName, version
 
构造方法摘要
protected ImageInputStreamSpi()
          构造一个空的 ImageInputStreamSpi
  ImageInputStreamSpi(String vendorName, String version, Class<?> inputClass)
          用给定的一组值构造 ImageInputStreamSpi
 
方法摘要
 boolean canUseCacheFile()
          如果与此服务提供程序关联的 ImageInputStream 实现可选择利用缓存文件改善性能和/或内存占用,则返回 true
 ImageInputStream createInputStreamInstance(Object input)
          返回与此服务提供程序关联的 ImageInputStream 实现的实例。
abstract  ImageInputStream createInputStreamInstance(Object input, boolean useCache, File cacheDir)
          返回与此服务提供程序关联的 ImageInputStream 实现的实例。
 Class<?> getInputClass()
          返回表示必须由输入源实现(以便使用 createInputStreamInstance 方法在 ImageInputStream 中“包装”)的类或接口的类型的 Class 对象。
 boolean needsCacheFile()
          如果与此服务提供程序关联的 ImageInputStream 实现要求使用缓存 File,则返回 true
 
从类 javax.imageio.spi.IIOServiceProvider 继承的方法
getDescription, getVendorName, getVersion, onDeregistration, onRegistration
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

inputClass

protected Class<?> inputClass
指示供 createInputStreamInstance 方法使用的合法对象类型的 Class 对象。

构造方法详细信息

ImageInputStreamSpi

protected ImageInputStreamSpi()
构造一个空的 ImageInputStreamSpi。为提供所有方法的可用版本,由子类负责初始化实例变量和/或重写方法实现。


ImageInputStreamSpi

public ImageInputStreamSpi(String vendorName,
                           String version,
                           Class<?> inputClass)
用给定的一组值构造 ImageInputStreamSpi

参数:
vendorName - 供应商名称。
version - 版本标识符。
inputClass - 指示供 createInputStreamInstance 方法使用的合法对象类型的 Class 对象。
抛出:
IllegalArgumentException - 如果 vendorNamenull
IllegalArgumentException - 如果 versionnull
方法详细信息

getInputClass

public Class<?> getInputClass()
返回表示必须由输入源实现(以便使用 createInputStreamInstance 方法在 ImageInputStream 中“包装”)的类或接口的类型的 Class 对象。

通常的返回值可能包含 InputStream.classURL.class,但可能使用任何类。

返回:
一个 Class 变量。
另请参见:
createInputStreamInstance(Object, boolean, File)

canUseCacheFile

public boolean canUseCacheFile()
如果与此服务提供程序关联的 ImageInputStream 实现可选择利用缓存文件改善性能和/或内存占用,则返回 true。如果为 false,则忽略 createInputStreamInstanceuseCache 变量的值。

默认实现返回 false

返回:
如果此服务提供程序创建的输入流有可使用的缓存文件,则返回 true

needsCacheFile

public boolean needsCacheFile()
如果与此服务提供程序关联的 ImageInputStream 实现要求使用缓存 File,则返回 true。如果为 true,将忽略 createInputStreamInstanceuseCache 变量的值。

默认实现返回 false

返回:
如果此服务提供程序创建的输入流需要使用缓存文件,则返回 true

createInputStreamInstance

public abstract ImageInputStream createInputStreamInstance(Object input,
                                                           boolean useCache,
                                                           File cacheDir)
                                                    throws IOException
返回与此服务提供程序关联的 ImageInputStream 实现的实例。如果使用缓存文件为可选项,则将参考 useCache 参数。在要求使用缓存,或缓存不适用时,将忽略 useCache 的值。

参数:
input - 一个由 getInputClass 返回的类类型的对象。
useCache - 在可选的情况下指示是否应使用缓存文件的 boolean
cacheDir - 指示创建缓存文件的位置的 File,或者为 null,以指示使用系统目录。
返回:
一个 ImageInputStream 实例。
抛出:
IllegalArgumentException - 如果 input 不是一个正确的类的实例,或者为 null
IllegalArgumentException - 如果需要缓存文件但 cacheDir 为非 null 并且也不是一个目录。
IOException - 如果需要缓存文件但无法创建。
另请参见:
getInputClass(), canUseCacheFile(), needsCacheFile()

createInputStreamInstance

public ImageInputStream createInputStreamInstance(Object input)
                                           throws IOException
返回与此服务提供程序关联的 ImageInputStream 实现的实例。如果需要,将在系统相应的默认临时文件目录中创建缓存文件。

参数:
input - 一个由 getInputClass 返回的类类型的对象。
返回:
一个 ImageInputStream 实例。
抛出:
IllegalArgumentException - 如果 input 不是一个正确的类的实例,或者为 null
IOException - 如果需要缓存文件但无法创建。
另请参见:
getInputClass()

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策