public interface IIOMetadataController
该接口将由可以确定 IIOMetadata
对象设置值(通过提供一个 GUI 来从用户那里获取值或其他方式)的对象实现。此接口只指定调用控制器的一般 activate
方法,不考虑该控制器获得值的方式(也就是说,该控制器是提供一个 GUI 还是只计算一个值的集合与此接口无关)。
在 activate
方法中,控制器通过查询 IIOMetadata
对象的设置(使用 XML DOM 树或特定于插件的接口)获取初始值,通过所有方法修改值,然后再使用 setFromTree
或 mergeTree
方法抑或特定于插件的接口修改 IIOMetadata
对象的设置值。通常,应用程序可能期望在 activate
方法返回 true
时,IIOMetadata
对象已经准备好用于写入操作。
供应商可以选择为他们针对特定插件定义的 IIOMetadata
子类提供 GUI。其可以作为相应 IIOParam
子类中的默认控制器。
作为选择,可以将算法过程(比如数据库查找或解析命令行)用作控制器,在这种情况下,activate
方法将只查找或计算设置值,调用 IIOMetadata
上的方法设置其状态以及返回 true
。
IIOMetadata.setController(javax.imageio.metadata.IIOMetadataController)
,
IIOMetadata.getController()
,
IIOMetadata.getDefaultController()
,
IIOMetadata.hasController()
,
IIOMetadata.activateController()
方法摘要 | |
---|---|
boolean |
activate(IIOMetadata metadata) 激活控制器。 |
方法详细信息 |
---|
boolean activate(IIOMetadata metadata)
true
,则
IIOMetadata
对象中的所有设置都应该已经准备好用于写入操作。如果返回
false
,则
IIOMetadata
对象中没有任何设置会被干扰(
也就是说,用户取消了该操作)。
metadata
- 要修改的
IIOMetadata
对象。
IIOMetadata
,则返回
true
,否则返回
false
。
IllegalArgumentException
- 如果
metadata
为
null
或者不是正确类的实例。