public abstract class IIOMetadata extends Object
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
Modifier and Type | Field and Description |
---|---|
protected IIOMetadataController |
controller
的
IIOMetadataController 将用于此
IIOMetadata 对象提供的设置时,
activateController 方法称为。
|
protected IIOMetadataController |
defaultController
一个
IIOMetadataController 建议用于这
IIOMetadata 对象控制器。
|
protected String[] |
extraMetadataFormatClassNames
类的实现
IIOMetadataFormat 名字代表的元数据格式的数组,而不是标准的原生格式,是由该插件支持,初始化为
null 和通过构造函数。
|
protected String[] |
extraMetadataFormatNames
名称格式的数组,而不是标准的原生格式,是由该插件支持,初始化为
null 和通过构造函数。
|
protected String |
nativeMetadataFormatClassName
该类实现
IIOMetadataFormat 代表本地元数据格式的名称,初始化为
null 和通过构造函数。
|
protected String |
nativeMetadataFormatName
该对象的本地元数据格式的名称,初始化为
null 和通过构造函数。
|
protected boolean |
standardFormatSupported
一个布尔值,指示是否具体的子类支持标准的元数据格式,通过构造函数设置。
|
Modifier | Constructor and Description |
---|---|
protected |
IIOMetadata()
构造一个空
IIOMetadata 对象。
|
protected |
IIOMetadata(boolean standardMetadataFormatSupported, String nativeMetadataFormatName, String nativeMetadataFormatClassName, String[] extraMetadataFormatNames, String[] extraMetadataFormatClassNames)
构建了一个
IIOMetadata 对象与给定的格式名称和格式的类的名字,以及一个布尔值,指示是否标准格式的支持。
|
Modifier and Type | Method and Description |
---|---|
boolean |
activateController()
激活安装
IIOMetadataController 这
IIOMetadata 对象并返回结果值。
|
abstract Node |
getAsTree(String formatName)
返回一个XML DOM对象树
Node 表示元数据的根包含在这个对象根据一个给定的元数据格式定义的公约。
|
IIOMetadataController |
getController()
返回当前安装的是什么
IIOMetadataController 。
|
IIOMetadataController |
getDefaultController()
返回默认
IIOMetadataController ,如果有一个,不管当前安装的控制器。
|
String[] |
getExtraMetadataFormatNames()
返回包含额外的元数据格式的名称
String s数组,除了本地和标准格式,通过这个插件的
getAsTree ,
setFromTree 认可,并
mergeTree 方法。
|
IIOMetadataFormat |
getMetadataFormat(String formatName)
返回一个
IIOMetadataFormat 对象描述给定的元数据格式,或
null 如果没有合适的描述。
|
String[] |
getMetadataFormatNames()
返回包含所有元数据格式的名称
String s数组,包括本地和标准格式,通过这个插件的
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 s表示元数据包含在这个对象根据标准
javax_imageio_1.0 元数据格式的公约。
|
boolean |
hasController()
返回
true 如果有控制器安装此
IIOMetadata 对象。
|
abstract boolean |
isReadOnly()
返回
true 如果该对象不支持
mergeTree ,
setFromTree ,和
reset 方法。
|
boolean |
isStandardMetadataFormatSupported()
返回
true 如果标准元数据格式是由
getMetadataFormat ,
getAsTree ,
setFromTree 支持,和
mergeTree 。
|
abstract void |
mergeTree(String formatName, Node root)
改变这
IIOMetadata 对象的内部状态从树的XML DOM
Node s其语法是由给定的元数据格式定义。
|
abstract void |
reset()
将所有数据存储在这个对象的默认值,通常为国家这个对象是在施工后立即,虽然精确的语义是插件的具体。
|
void |
setController(IIOMetadataController controller)
集
IIOMetadataController 用来为这
IIOMetadata 对象提供的设置时,
activateController 方法被调用,覆盖任何默认的控制器。
|
void |
setFromTree(String formatName, Node root)
设置此
IIOMetadata 对象的内部状态从树的XML DOM
Node s其语法是由给定的元数据格式定义。
|
protected boolean standardFormatSupported
protected String nativeMetadataFormatName
null
和通过构造函数。
protected String nativeMetadataFormatClassName
IIOMetadataFormat
代表本地元数据格式的名称,初始化为
null
和通过构造函数。
protected String[] extraMetadataFormatNames
null
和通过构造函数。
protected String[] extraMetadataFormatClassNames
IIOMetadataFormat
名字代表的元数据格式的数组,而不是标准的原生格式,是由该插件支持,初始化为
null
和通过构造函数。
protected IIOMetadataController defaultController
IIOMetadataController
建议用于这
IIOMetadata
对象控制器。它可以通过检索
getDefaultController
。安装默认的控制器,称
setController(getDefaultController())
。这个实例变量应该由选择提供他们自己的默认控制器的子类来设置,通常是一个图形用户界面,用于设置参数。
protected IIOMetadataController controller
IIOMetadataController
将用于此
IIOMetadata
对象提供的设置时,
activateController
方法称为。该值将覆盖任何默认的控制器,即使
null
。
protected IIOMetadata()
IIOMetadata
对象。子类负责所有受保护的实例变量,将允许任何非重写默认的实现方法,以满足他们的合同提供价值。例如,
extraMetadataFormatNames
不应该长0。
protected IIOMetadata(boolean standardMetadataFormatSupported, String nativeMetadataFormatName, String nativeMetadataFormatClassName, String[] extraMetadataFormatNames, String[] extraMetadataFormatClassNames)
IIOMetadata
对象与给定的格式名称和格式的类的名字,以及一个布尔值,指示是否标准格式的支持。
此构造函数不试图检查类名称是否有效。无效的类的名称可能会导致在随后的电话getMetadataFormat
例外。
standardMetadataFormatSupported
-
true
如果这个对象可以返回一个DOM树或接受使用标准的元数据格式。
nativeMetadataFormatName
-本地元数据格式的名称,作为一个
String
,或
null
如果没有原生格式。
nativeMetadataFormatClassName
-对本地元数据格式的类的名称,或
null
如果没有原生格式。
extraMetadataFormatNames
-
String
s指示附加格式的支持对象的数组,或
null
如果没有。
extraMetadataFormatClassNames
-
String
s指示任何额外的格式由该对象支持的类名称的数组,或
null
如果没有。
IllegalArgumentException
-如果
extraMetadataFormatNames
长度为0。
IllegalArgumentException
-如果
extraMetadataFormatNames
和
extraMetadataFormatClassNames
不都
null
,或长度相同。
public boolean isStandardMetadataFormatSupported()
true
如果标准元数据格式是由
getMetadataFormat
,
getAsTree
,
setFromTree
,
mergeTree
默认实现将返回的standardFormatSupported
实例变量的值。
public abstract boolean isReadOnly()
true
如果该对象不支持
mergeTree
,
setFromTree
,和
reset
方法。
IIOMetadata
对象不能被修改。
public String getNativeMetadataFormatName()
null
will回来。
的“本土”元数据格式的插件,创建了这个IIOMetadata
对象定义的结构和内容。简单格式的插件通常会为根创建一个虚拟节点,然后一系列子节点代表单个标签、块或关键字/值对。一个插件可以选择是否将其本地格式记录。
默认实现将返回的nativeMetadataFormatName
实例变量的值。
null
。
getExtraMetadataFormatNames()
,
getMetadataFormatNames()
public String[] getExtraMetadataFormatNames()
String
s数组,除了本地和标准格式,通过这个插件的
getAsTree
,
setFromTree
认可,并
mergeTree
方法。如果没有这些额外的格式,
null
返回。
默认实现将返回的extraMetadataFormatNames
实例变量的克隆。
String
s数组的长度,或
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
s数组,包括本地和标准格式,通过这个插件的
getAsTree
,
setFromTree
认可,并
mergeTree
方法。如果没有这样的格式,
null
返回。
默认实现调用getNativeMetadataFormatName
,isStandardMetadataFormatSupported
,和getExtraMetadataFormatNames
并返回结果。
String
s数组。
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
IIOMetadata
对象的内部状态从树的XML DOM
Node
s其语法是由给定的元数据格式定义。以前的状态被改变,只有必要的,以适应在给定的树中存在的节点。如果树结构或内容无效,将引发一个
IIOInvalidTreeException
。
作为语义树或子树怎么可能与另一棵树的合并完全是特定格式,插件作者可以实现此方法以任何方式是最适合的格式,包括简单的取代所有现有的状态与给定的树的内容。
formatName
-所需的元数据格式。
root
-一个XML DOM
Node
对象形成一棵树的根。
IllegalStateException
-如果这个对象是只读的。
IllegalArgumentException
-如果
formatName
是
null
或不是一个
getMetadataFormatNames
返回的名字。
null
root
IllegalArgumentException
。
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
s表示元数据包含在这个对象根据标准
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
IIOMetadata
对象的内部状态从树的XML DOM
Node
s其语法是由给定的元数据格式定义。先前的状态被丢弃。如果树的结构或内容无效,将引发一个
IIOInvalidTreeException
。
默认实现调用reset
随后mergeTree(formatName, root)
。
formatName
-所需的元数据格式。
root
-一个XML DOM
Node
对象形成一棵树的根。
IllegalStateException
-如果这个对象是只读的。
IllegalArgumentException
-如果
formatName
是
null
或不是一个
getMetadataFormatNames
返回的名字。
null
root
IllegalArgumentException
。
IIOInvalidTreeException
如果树不能被解析成功地利用给定的格式规则。
getMetadataFormatNames()
,
getAsTree(java.lang.String)
,
mergeTree(java.lang.String, org.w3c.dom.Node)
public abstract void reset()
public void setController(IIOMetadataController controller)
IIOMetadataController
用来为这
IIOMetadata
对象提供的设置时,
activateController
方法被调用,覆盖任何默认的控制器。如果参数是
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()
true
如果有控制器安装此
IIOMetadata
对象。
如果getController
方法返回一个值,默认实现将返回true
non-null
。
true
如果安装控制器。
IIOMetadataController
,
setController(IIOMetadataController)
,
getController()
,
getDefaultController()
,
activateController()
public boolean activateController()
IIOMetadataController
这
IIOMetadata
对象并返回结果值。当此方法返回
true
,这
IIOMetadata
对象的所有值将准备下一次写操作。如果
false
返回,该对象没有设置将被打扰(即,用户取消操作)。
通常情况下,控制器将GUI提供一种特定的插件一类IIOMetadata
用户界面。控制器不需要GUI,但是。
默认实现调用getController
和电话activate
对返回的对象如果hasController
返回true
。
true
如果控制器完成正常。
IllegalStateException
-如果没有控制器的当前安装的。
IIOMetadataController
,
setController(IIOMetadataController)
,
getController()
,
getDefaultController()
,
hasController()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.