|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.imageio.metadata.IIOMetadata
public abstract class IIOMetadata
將由表示與圖像和串流關聯的元資料(非圖像資料)的物件擴展的抽象類別。外掛程式表示使用不透明、特定於外掛程式的物件的元資料。但是這些物件提供以 IIOMetadataNode
物件的階層樹的形式存取其內部資訊的能力,IIOMetadataNode
物件支持 XML DOM 介面以及用於存儲非文本資料和獲取關於合法資料值的資訊的其他介面。這種階層樹的格式是依賴於外掛程式的,但外掛程式可以選擇支持下述外掛程式無關的格式。單個外掛程式可能支持多個元資料格式,這些格式的名稱可以通過調用 getMetadataFormatNames
確定。外掛程式還可支持單個特殊格式(叫做“本機”格式),設計用於無損耗地編碼其元資料。通常,此格式專門設計用於與特定檔案格式一起使用,以便以同一種格式載入和保存圖像而不丟失元資料,但是對於在不同圖像格式的 ImageReader
和 ImageWriter
之間傳輸元資料沒有多大用途。要像圖像檔案格式所允許的那樣無損耗地在兩個本機格式之間轉換元資料,必須使用 ImageTranscoder
物件。
ImageReader.getImageMetadata(int)
,
ImageReader.getStreamMetadata()
,
ImageReader.readAll(int, javax.imageio.ImageReadParam)
,
ImageWriter.getDefaultStreamMetadata(javax.imageio.ImageWriteParam)
,
ImageWriter.getDefaultImageMetadata(javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam)
,
ImageWriter.write(javax.imageio.metadata.IIOMetadata, javax.imageio.IIOImage, javax.imageio.ImageWriteParam)
,
ImageWriter.convertImageMetadata(javax.imageio.metadata.IIOMetadata, javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam)
,
ImageWriter.convertStreamMetadata(javax.imageio.metadata.IIOMetadata, javax.imageio.ImageWriteParam)
,
IIOImage
,
ImageTranscoder
欄位摘要 | |
---|---|
protected IIOMetadataController |
controller
調用 activateController 方法時,將用來為此 IIOMetadataController 物件提供設置值的 IIOParamController 。 |
protected IIOMetadataController |
defaultController
建議用作此 IIOMetadata 物件的控制器的 IIOMetadataController 。 |
protected String[] |
extraMetadataFormatClassNames
實作 IIOMetadataFormat 和表示此外掛程式支持的元資料格式(標準格式和本機格式除外)的類別的名稱所組成的陣列,初始化為 null ,通過建構子設置。 |
protected String[] |
extraMetadataFormatNames
此外掛程式支持的格式(標準格式和本機格式除外)的名稱所組成的陣列,初始化為 null ,通過建構子設置。 |
protected String |
nativeMetadataFormatClassName
實作 IIOMetadataFormat 和表示本機元資料格式的類別的名稱,初始化為 null ,通過建構子設置。 |
protected String |
nativeMetadataFormatName
此物件本機元資料格式的名稱,初始化為 null ,通過建構子設置。 |
protected boolean |
standardFormatSupported
指示具體子類別是否支持標準元資料格式的 boolean 值,通過建構子設置。 |
建構子摘要 | |
---|---|
protected |
IIOMetadata()
建構一個空的 IIOMetadata 物件。 |
protected |
IIOMetadata(boolean standardMetadataFormatSupported,
String nativeMetadataFormatName,
String nativeMetadataFormatClassName,
String[] extraMetadataFormatNames,
String[] extraMetadataFormatClassNames)
建構一個 IIOMetadata 物件,使其帶有給定格式名稱和格式類別名稱,以及指示是否支持標準格式的 boolean 值。 |
方法摘要 | |
---|---|
boolean |
activateController()
啟動為此 IIOMetadata 物件安裝的 IIOMetadataController ,並返回所得到的值。 |
abstract Node |
getAsTree(String formatName)
返回 XML DOM Node 物件,該物件表示此物件所包含的元資料階層樹的根(根據給定元資料格式定義的約定)。 |
IIOMetadataController |
getController()
返回當前已安裝的所有 IIOMetadataController 。 |
IIOMetadataController |
getDefaultController()
返回預設 IIOMetadataController (如果有),不考慮當前安裝的控制器。 |
String[] |
getExtraMetadataFormatNames()
返回一個 String 陣列,包含此外掛程式的 getAsTree 、setFromTree 和 mergeTree 方法可識別的其他元資料格式(本機格式和標準格式除外)的名稱。 |
IIOMetadataFormat |
getMetadataFormat(String formatName)
返回描述給定元資料格式的 IIOMetadataFormat 物件,如果沒有可用的描述,則返回 null 。 |
String[] |
getMetadataFormatNames()
返回一個 String 陣列,包含包括此外掛程式的 getAsTree 、setFromTree 和 mergeTree 方法可識別的所有元資料格式(包括本機格式和標準格式)的名稱。 |
String |
getNativeMetadataFormatName()
返回此外掛程式的“本機”元資料格式的名稱,該格式通常允許無損失地編碼和傳輸以此外掛程式處理的格式存儲的元資料。 |
protected IIOMetadataNode |
getStandardChromaNode()
返回表示標準 javax_imageio_1.0 元資料格式的色度資訊的 IIOMetadataNode ;如果沒有可用的此類別資訊,則返回 null 。 |
protected IIOMetadataNode |
getStandardCompressionNode()
返回表示標準 javax_imageio_1.0 元資料格式的壓縮資訊的 IIOMetadataNode ;如果沒有可用的此類別資訊,則返回 null 。 |
protected IIOMetadataNode |
getStandardDataNode()
返回表示標準 javax_imageio_1.0 元資料格式的資料格式資訊的 IIOMetadataNode ;如果沒有可用的此類別資訊,則返回 null 。 |
protected IIOMetadataNode |
getStandardDimensionNode()
返回表示標準 javax_imageio_1.0 元資料格式的維度資訊的 IIOMetadataNode ;如果沒有可用的此類別資訊,則返回 null 。 |
protected IIOMetadataNode |
getStandardDocumentNode()
返回表示標準 javax_imageio_1.0 元資料格式的文檔資訊的 IIOMetadataNode ;如果沒有可用的此類別資訊,則返回 null 。 |
protected IIOMetadataNode |
getStandardTextNode()
返回表示標準 javax_imageio_1.0 元資料格式的文本資訊的 IIOMetadataNode ;如果沒有可用的此類別資訊,則返回 null 。 |
protected IIOMetadataNode |
getStandardTileNode()
返回表示標準 javax_imageio_1.0 元資料格式的平鋪資訊的 IIOMetadataNode ;如果沒有可用的此類別資訊,則返回 null 。 |
protected IIOMetadataNode |
getStandardTransparencyNode()
返回表示標準 javax_imageio_1.0 元資料格式的透明度資訊的 IIOMetadataNode ;如果沒有可用的此類別資訊,則返回 null 。 |
protected IIOMetadataNode |
getStandardTree()
返回表示此物件中所包含元資料的 IIOMetadataNode 的階層樹(根據標準 javax_imageio_1.0 元資料格式的約定)的實用方法。 |
boolean |
hasController()
如果存在為此 IIOMetadata 物件安裝的控制器,則返回 true 。 |
abstract boolean |
isReadOnly()
如果此物件不支持 mergeTree 、setFromTree 和 reset 方法,則返回 true 。 |
boolean |
isStandardMetadataFormatSupported()
如果 getMetadataFormat 、getAsTree 、setFromTree 和 mergeTree 支持標準元資料格式,則返回 true 。 |
abstract void |
mergeTree(String formatName,
Node root)
根據 XML DOM Node 階層樹(其語法由給定元資料格式定義)改變此 IIOMetadata 物件的內部狀態。 |
abstract void |
reset()
將此物件中存儲的所有資料重置為預設值,通常為此物件建構後立即處於的狀態,儘管精確的語義是特定於外掛程式的。 |
void |
setController(IIOMetadataController controller)
設置在調用 activateController 方法時用來為此 IIOParam 物件提供設置值的 IIOMetadataController ,覆寫任何預設控制器。 |
void |
setFromTree(String formatName,
Node root)
根據 XML DOM Node 的階層樹(其語法由給定元資料格式定義)設置此 IIOMetadata 物件的內部狀態。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
protected boolean standardFormatSupported
protected String nativeMetadataFormatName
null
,通過建構子設置。
protected String nativeMetadataFormatClassName
IIOMetadataFormat
和表示本機元資料格式的類別的名稱,初始化為 null
,通過建構子設置。
protected String[] extraMetadataFormatNames
null
,通過建構子設置。
protected String[] extraMetadataFormatClassNames
IIOMetadataFormat
和表示此外掛程式支持的元資料格式(標準格式和本機格式除外)的類別的名稱所組成的陣列,初始化為 null
,通過建構子設置。
protected IIOMetadataController defaultController
IIOMetadata
物件的控制器的 IIOMetadataController
。它可以通過 getDefaultController
獲取。要安裝預設控制器,請調用 setController(getDefaultController())
。此實例變數應該由子類別設置,這些子類別可以選擇提供自己的預設控制器(通常是一個 GUI)來設置參數。
IIOMetadataController
,
getDefaultController()
protected IIOMetadataController controller
activateController
方法時,將用來為此 IIOMetadataController
物件提供設置值的 IIOParamController
。此值覆寫任何預設控制器,即使為 null
時也是如此。
IIOMetadataController
,
setController(IIOMetadataController)
,
hasController()
,
activateController()
建構子詳細資訊 |
---|
protected IIOMetadata()
IIOMetadata
物件。子類別負責為所有受保護的實例變數提供值,這將使方法的未覆寫預設實作符合其協定。例如,extraMetadataFormatNames
的長度不應為 0。
protected IIOMetadata(boolean standardMetadataFormatSupported, String nativeMetadataFormatName, String nativeMetadataFormatClassName, String[] extraMetadataFormatNames, String[] extraMetadataFormatClassNames)
IIOMetadata
物件,使其帶有給定格式名稱和格式類別名稱,以及指示是否支持標準格式的 boolean 值。
此建構子不會試圖檢查類別名稱的有效性。無效的類別名稱在後續調用 getMetadataFormat
時可能導致異常。
standardMetadataFormatSupported
- 如果此物件可返回或接受使用標準元資料格式的 DOM 階層樹,則該參數為 true
。nativeMetadataFormatName
- String
形式的本機元資料格式的名稱;如果不存在本機格式,則為 null
。nativeMetadataFormatClassName
- 本機元資料格式的類別名稱;如果不存在本機格式,則為 null
。extraMetadataFormatNames
- 指示此物件所支持的其他格式的 String
陣列;如果不支持任何其他格式,則為 null
。extraMetadataFormatClassNames
- 指示此物件所支持的所有其他格式的類別名稱的 String
陣列;如果不支持任何其他格式,則為 null
。
IllegalArgumentException
- 如果 extraMetadataFormatNames
的長度為 0。
IllegalArgumentException
- 如果 extraMetadataFormatNames
和 extraMetadataFormatClassNames
既不同時為 null
也不具有相同長度。方法詳細資訊 |
---|
public boolean isStandardMetadataFormatSupported()
getMetadataFormat
、getAsTree
、setFromTree
和 mergeTree
支持標準元資料格式,則返回 true
。
預設實作返回 standardFormatSupported
實例變數的值。
true
。getAsTree(java.lang.String)
,
setFromTree(java.lang.String, org.w3c.dom.Node)
,
mergeTree(java.lang.String, org.w3c.dom.Node)
,
getMetadataFormat(java.lang.String)
public abstract boolean isReadOnly()
mergeTree
、setFromTree
和 reset
方法,則返回 true
。
IIOMetadata
物件,則返回 true。public String getNativeMetadataFormatName()
null
。
創建此 IIOMetadata
物件的外掛程式定義“本機”元資料格式的結構和內容。用於簡單格式的外掛程式通常先為根創建一個虛擬節點,然後再創建一系列表示個別標記、存儲塊和關鍵字/值對的子節點。外掛程式可以選擇是否記錄其本機格式。
預設實作返回 nativeMetadataFormatName
實例變數的值。
null
。getExtraMetadataFormatNames()
,
getMetadataFormatNames()
public String[] getExtraMetadataFormatNames()
String
陣列,包含此外掛程式的 getAsTree
、setFromTree
和 mergeTree
方法可識別的其他元資料格式(本機格式和標準格式除外)的名稱。如果不存在這樣的其他格式,則返回 null
。
預設實作返回 extraMetadataFormatNames
實例變數的副本。
String
陣列;或 null
。getAsTree(java.lang.String)
,
setFromTree(java.lang.String, org.w3c.dom.Node)
,
mergeTree(java.lang.String, org.w3c.dom.Node)
,
getNativeMetadataFormatName()
,
getMetadataFormatNames()
public String[] getMetadataFormatNames()
String
陣列,包含包括此外掛程式的 getAsTree
、setFromTree
和 mergeTree
方法可識別的所有元資料格式(包括本機格式和標準格式)的名稱。如果不存在這樣的格式,則返回 null
。
預設實作調用 getNativeMetadataFormatName
、isStandardMetadataFormatSupported
和 getExtraMetadataFormatNames
並返回組合結果。
String
陣列。getNativeMetadataFormatName()
,
isStandardMetadataFormatSupported()
,
getExtraMetadataFormatNames()
public IIOMetadataFormat getMetadataFormat(String formatName)
IIOMetadataFormat
物件,如果沒有可用的描述,則返回 null
。提供的名稱必須為 getMetadataFormatNames
返回的名稱之一(即,本機格式名稱、標準格式名稱或 getExtraMetadataFormatNames
返回的名稱之一)。
預設實作憑借全體標準元資料格式名稱進行名稱檢查,如果支持則返回該格式。否則,它將憑借本機格式名稱然後是任何其他格式名稱進行檢查。如果發現比對項,則其從 nativeMetadataFormatClassName
或 extraMetadataFormatClassNames
獲取相應的 IIOMetadataFormat
類別的名稱,並使用其 getInstance
方法建構該類別的實例。
formatName
- 所需的元資料格式。
IIOMetadataFormat
物件。
IllegalArgumentException
- 如果 formatName
為 null
,或者不是外掛程式可識別的名稱之一。
IllegalStateException
- 如果無法載入與格式名稱對應的類別。public abstract Node getAsTree(String formatName)
Node
物件,該物件表示此物件所包含的元資料階層樹的根(根據給定元資料格式定義的約定)。
使用 getMetadataFormatNames
方法可以查詢可用元資料格式的名稱。
formatName
- 所需的元資料格式。
Node
物件。
IllegalArgumentException
- 如果 formatName
為 null
,或者不是 getMetadataFormatNames
返回的名稱之一。getMetadataFormatNames()
,
setFromTree(java.lang.String, org.w3c.dom.Node)
,
mergeTree(java.lang.String, org.w3c.dom.Node)
public abstract void mergeTree(String formatName, Node root) throws IIOInvalidTreeException
Node
階層樹(其語法由給定元資料格式定義)改變此 IIOMetadata
物件的內部狀態。只在存在於給定階層樹中的節點需要時才改變以前的狀態。如果階層樹結構或內容無效,則拋出 IIOInvalidTreeException
。
由於如何將一個階層樹或子階層樹與另一個階層樹合併的語義完全特定於格式,因此外掛程式設計者可以使用最適合格式的方式實作此方法,包括使用給定階層樹的內容取代所有的現有狀態。
formatName
- 所需的元資料格式。root
- 形成階層樹的根的 XML DOM Node
物件。
IllegalStateException
- 如果此物件是只讀的。
IllegalArgumentException
- 如果 formatName
為 null
,或者不是 getMetadataFormatNames
返回的名稱之一。
IllegalArgumentException
- 如果 root
為 null
。
IIOInvalidTreeException
- 如果使用給定格式的規則無法成功地解析階層樹。getMetadataFormatNames()
,
getAsTree(java.lang.String)
,
setFromTree(java.lang.String, org.w3c.dom.Node)
protected IIOMetadataNode getStandardChromaNode()
javax_imageio_1.0
元資料格式的色度資訊的 IIOMetadataNode
;如果沒有可用的此類別資訊,則返回 null
。此方法將由實用例行程序 getStandardTree
調用。
預設實作返回 null
。
如果子類別希望支持標準元資料格式,則其應該覆寫此方法以產生適當的子階層樹。
IIOMetadataNode
,或者 null
。getStandardTree()
protected IIOMetadataNode getStandardCompressionNode()
javax_imageio_1.0
元資料格式的壓縮資訊的 IIOMetadataNode
;如果沒有可用的此類別資訊,則返回 null
。此方法將由實用例行程序 getStandardTree
調用。
預設實作返回 null
。
如果子類別希望支持標準元資料格式,則其應該覆寫此方法以產生適當的子階層樹。
IIOMetadataNode
,或者 null
。getStandardTree()
protected IIOMetadataNode getStandardDataNode()
javax_imageio_1.0
元資料格式的資料格式資訊的 IIOMetadataNode
;如果沒有可用的此類別資訊,則返回 null
。此方法將由實用例行程序 getStandardTree
調用。
預設實作返回 null
。
如果子類別希望支持標準元資料格式,則其應該覆寫此方法以產生適當的子階層樹。
IIOMetadataNode
,或者 null
。getStandardTree()
protected IIOMetadataNode getStandardDimensionNode()
javax_imageio_1.0
元資料格式的維度資訊的 IIOMetadataNode
;如果沒有可用的此類別資訊,則返回 null
。此方法將由實用例行程序 getStandardTree
調用。
預設實作返回 null
。
如果子類別希望支持標準元資料格式,則其應該覆寫此方法以產生適當的子階層樹。
IIOMetadataNode
,或者 null
。getStandardTree()
protected IIOMetadataNode getStandardDocumentNode()
javax_imageio_1.0
元資料格式的文檔資訊的 IIOMetadataNode
;如果沒有可用的此類別資訊,則返回 null
。此方法將由實用例行程序 getStandardTree
調用。
預設實作返回 null
。
如果子類別希望支持標準元資料格式,則其應該覆寫此方法以產生適當的子階層樹。
IIOMetadataNode
,或者 null
。getStandardTree()
protected IIOMetadataNode getStandardTextNode()
javax_imageio_1.0
元資料格式的文本資訊的 IIOMetadataNode
;如果沒有可用的此類別資訊,則返回 null
。此方法將由實用例行程序 getStandardTree
調用。
預設實作返回 null
。
如果子類別希望支持標準元資料格式,則其應該覆寫此方法以產生適當的子階層樹。
IIOMetadataNode
,或者 null
。getStandardTree()
protected IIOMetadataNode getStandardTileNode()
javax_imageio_1.0
元資料格式的平鋪資訊的 IIOMetadataNode
;如果沒有可用的此類別資訊,則返回 null
。此方法將由實用例行程序 getStandardTree
調用。
預設實作返回 null
。
如果子類別希望支持標準元資料格式,則其應該覆寫此方法以產生適當的子階層樹。
IIOMetadataNode
,或者 null
。getStandardTree()
protected IIOMetadataNode getStandardTransparencyNode()
javax_imageio_1.0
元資料格式的透明度資訊的 IIOMetadataNode
;如果沒有可用的此類別資訊,則返回 null
。此方法將由實用例行程序 getStandardTree
調用。
預設實作返回 null
。
如果子類別希望支持標準元資料格式,則其應該覆寫此方法以產生適當的子階層樹。
IIOMetadataNode
,或者 null
。protected final IIOMetadataNode getStandardTree()
IIOMetadataNode
的階層樹(根據標準 javax_imageio_1.0
元資料格式的約定)的實用方法。
此方法調用各種 getStandard*Node
方法提供每個以根節點的子節點為根的子階層樹。如果這些方法中任意一個返回 null
,則省略相應的子階層樹。如果它們都返回 null
,則返回由單個根節點組成的階層樹。
javax_imageio_1.0
格式的元資料階層樹的根的 IIOMetadataNode
。getStandardChromaNode()
,
getStandardCompressionNode()
,
getStandardDataNode()
,
getStandardDimensionNode()
,
getStandardDocumentNode()
,
getStandardTextNode()
,
getStandardTileNode()
,
getStandardTransparencyNode()
public void setFromTree(String formatName, Node root) throws IIOInvalidTreeException
Node
的階層樹(其語法由給定元資料格式定義)設置此 IIOMetadata
物件的內部狀態。丟棄以前的狀態。如果階層樹結構或內容無效,則拋出 IIOInvalidTreeException
。
預設實作先調用 reset
,然後調用 mergeTree(formatName, root)
。
formatName
- 所需的元資料格式。root
- 形成階層樹的根的 XML DOM Node
物件。
IllegalStateException
- 如果此物件是只讀的。
IllegalArgumentException
- 如果 formatName
為 null
,或者不是 getMetadataFormatNames
返回的名稱之一。
IllegalArgumentException
- 如果 root
為 null
。
IIOInvalidTreeException
- 如果使用給定格式的規則無法成功地解析階層樹。getMetadataFormatNames()
,
getAsTree(java.lang.String)
,
mergeTree(java.lang.String, org.w3c.dom.Node)
public abstract void reset()
IllegalStateException
- 如果此物件是只讀的。ImageReader.getStreamMetadata()
,
ImageReader.getImageMetadata(int)
,
ImageWriter.getDefaultStreamMetadata(javax.imageio.ImageWriteParam)
,
ImageWriter.getDefaultImageMetadata(javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam)
public void setController(IIOMetadataController controller)
activateController
方法時用來為此 IIOParam
物件提供設置值的 IIOMetadataController
,覆寫任何預設控制器。如果該參數為 null
,則不使用任何控制器,包括所有預設控制器。要恢復預設值,請使用 setController(getDefaultController())
。
預設實作將 controller
實例變數設置為提供的值。
controller
- 一個適當的 IIOMetadataController
,或者為 null
。IIOMetadataController
,
getController()
,
getDefaultController()
,
hasController()
,
activateController()
public IIOMetadataController getController()
IIOMetadataController
。返回值可以是預設控制器(如果有)、null
或最近一次調用 setController
時使用的參數。
預設實作返回 controller
實例變數的值。
IIOMetadataController
;或者 null
。IIOMetadataController
,
setController(javax.imageio.metadata.IIOMetadataController)
,
getDefaultController()
,
hasController()
,
activateController()
public IIOMetadataController getDefaultController()
IIOMetadataController
(如果有),不考慮當前安裝的控制器。如果沒有預設安裝器,則返回 null
。
預設實作返回 defaultController
實例變數的值。
IIOMetadataController
或 null
。IIOMetadataController
,
setController(IIOMetadataController)
,
getController()
,
hasController()
,
activateController()
public boolean hasController()
IIOMetadata
物件安裝的控制器,則返回 true
。
如果 getController
方法返回非 null
值,則預設實作返回 true
。
true
。IIOMetadataController
,
setController(IIOMetadataController)
,
getController()
,
getDefaultController()
,
activateController()
public boolean activateController()
IIOMetadata
物件安裝的 IIOMetadataController
,並返回所得到的值。當此方法返回 true
時,此 IIOMetadata
物件的所有值都已準備好進行下一次寫入操作。如果返回 false
,則此物件中沒有任何設置會被干擾(也就是說,使用者取消了該操作)。
通常,控制器將是一個 GUI,為特定外掛程式的 IIOMetadata
的子類別提供使用者介面。不過,控制器不必一定是 GUI。
預設實作調用 getController
,如果 hasController
返回 true
,則對返回物件調用 activate
。
true
。
IllegalStateException
- 如果當前沒有安裝控制器。IIOMetadataController
,
setController(IIOMetadataController)
,
getController()
,
getDefaultController()
,
hasController()
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。