Module java.desktop

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), IIOMetadata.getController(), IIOMetadata.getDefaultController(), IIOMetadata.hasController(), IIOMetadata.activateController()
    • Method Detail

      • activate

        boolean activate​(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 - if metadata is null or is not an instance of the correct class.