javax.imageio.metadata
Interface IIOMetadataController


public interface IIOMetadataController

An interface to be implemented by objects that can determine the settings of an IIOMetadata object, either by putting up a GUI to obtain values from a user, or by other means. This interface merely specifies a generic activate method that invokes the controller, without regard for how the controller obtains values (i.e., whether the controller puts up a GUI or merely computes a set of values is irrelevant to this interface).

Within the activate method, a controller obtains initial values by querying the IIOMetadata object's settings, either using the XML DOM tree or a plug-in specific interface, modifies values by whatever means, then modifies the IIOMetadata object's settings, using either the setFromTree or mergeTree methods, or a plug-in specific interface. In general, applications may expect that when the activate method returns true, the IIOMetadata object is ready for use in a write operation.

Vendors may choose to provide GUIs for the IIOMetadata subclasses they define for a particular plug-in. These can be set up as default controllers in the corresponding IIOMetadata subclasses.

Alternatively, an algorithmic process such as a database lookup or the parsing of a command line could be used as a controller, in which case the activate method would simply look up or compute the settings, call methods on IIOMetadata to set its state, and return true.

See Also:
IIOMetadata.setController(javax.imageio.metadata.IIOMetadataController) sample code for javax.imageio.metadata.IIOMetadata.setController(javax.imageio.metadata.IIOMetadataController) definition code for javax.imageio.metadata.IIOMetadata.setController(javax.imageio.metadata.IIOMetadataController) , IIOMetadata.getController() sample code for javax.imageio.metadata.IIOMetadata.getController() definition code for javax.imageio.metadata.IIOMetadata.getController() , IIOMetadata.getDefaultController() sample code for javax.imageio.metadata.IIOMetadata.getDefaultController() definition code for javax.imageio.metadata.IIOMetadata.getDefaultController() , IIOMetadata.hasController() sample code for javax.imageio.metadata.IIOMetadata.hasController() definition code for javax.imageio.metadata.IIOMetadata.hasController() , IIOMetadata.activateController() sample code for javax.imageio.metadata.IIOMetadata.activateController() definition code for javax.imageio.metadata.IIOMetadata.activateController()

Method Summary
 boolean activate sample code for javax.imageio.metadata.IIOMetadataController.activate(javax.imageio.metadata.IIOMetadata) definition code for javax.imageio.metadata.IIOMetadataController.activate(javax.imageio.metadata.IIOMetadata) (IIOMetadata sample code for javax.imageio.metadata.IIOMetadata definition code for javax.imageio.metadata.IIOMetadata  metadata)
          Activates the controller.
 

Method Detail

activate sample code for javax.imageio.metadata.IIOMetadataController.activate(javax.imageio.metadata.IIOMetadata) definition code for javax.imageio.metadata.IIOMetadataController.activate(javax.imageio.metadata.IIOMetadata)

boolean activate(IIOMetadata sample code for javax.imageio.metadata.IIOMetadata definition code for javax.imageio.metadata.IIOMetadata  metadata)
Activates the controller. If true is returned, all settings in the IIOMetadata object should be ready for use in a write operation. If false is returned, no settings in the IIOMetadata object will be disturbed (i.e., the user canceled the operation).

Parameters:
metadata - the IIOMetadata object to be modified.
Returns:
true if the IIOMetadata has been modified, false otherwise.
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if metadata is null or is not an instance of the correct class.