-
public interface IIOMetadataControllerAn interface to be implemented by objects that can determine the settings of anIIOMetadataobject, either by putting up a GUI to obtain values from a user, or by other means. This interface merely specifies a genericactivatemethod 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
activatemethod, a controller obtains initial values by querying theIIOMetadataobject's settings, either using the XML DOM tree or a plug-in specific interface, modifies values by whatever means, then modifies theIIOMetadataobject's settings, using either thesetFromTreeormergeTreemethods, or a plug-in specific interface. In general, applications may expect that when theactivatemethod returnstrue, theIIOMetadataobject 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 correspondingIIOMetadatasubclasses.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 onIIOMetadatato set its state, and returntrue.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleanactivate(IIOMetadata metadata)Activates the controller.
-
-
-
Method Detail
-
activate
boolean activate(IIOMetadata metadata)
Activates the controller. Iftrueis returned, all settings in theIIOMetadataobject should be ready for use in a write operation. Iffalseis returned, no settings in theIIOMetadataobject will be disturbed (i.e., the user canceled the operation).- Parameters:
metadata- theIIOMetadataobject to be modified.- Returns:
trueif theIIOMetadatahas been modified,falseotherwise.- Throws:
IllegalArgumentException- ifmetadataisnullor is not an instance of the correct class.
-
-