JavaTM 2 Platform
Standard Ed. 6

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. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only