public interface IIOMetadataControllerAn interface to be implemented by objects that can determine the settings of an
IIOMetadataobject, either by putting up a GUI to obtain values from a user, or by other means. This interface merely specifies a generic
activatemethod 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).
activatemethod, a controller obtains initial values by querying the
IIOMetadataobject's settings, either using the XML DOM tree or a plug-in specific interface, modifies values by whatever means, then modifies the
IIOMetadataobject's settings, using either the
mergeTreemethods, or a plug-in specific interface. In general, applications may expect that when the
IIOMetadataobject is ready for use in a write operation.
Vendors may choose to provide GUIs for the
IIOMetadatasubclasses they define for a particular plug-in. These can be set up as default controllers in the corresponding
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
activatemethod would simply look up or compute the settings, call methods on
IIOMetadatato set its state, and return
boolean activate(IIOMetadata metadata)Activates the controller. If
trueis returned, all settings in the
IIOMetadataobject should be ready for use in a write operation. If
falseis returned, no settings in the
IIOMetadataobject will be disturbed (i.e., the user canceled the operation).
IIOMetadataobject to be modified.
IIOMetadatahas been modified,
nullor is not an instance of the correct class.