Monitor Package Discussion

The idea of a Monitor is an extension of the TaskMonitor used in 2.x era Cytoscape. The TaskMonitor interface has worked reasonably well for us. The only real problem has been the pollution of unrelated interfaces with methods to accept TaskMonitor objects.

Use Cases

Design Ideas

Instead of adding TaskMonitor parameters to methods throughout Cytoscape, I propose defining a Monitorable interface:

public interface Monitorable {
   public void setMonitor(TaskMonitor tm);
   public TaskMonitor getMonitor();
}

Any class could them implement this interface to signal that it supports updating TaskMonitor objects. You can imagine code like:

  ...
  CyLayoutAlgorithm layout = getLayout("spring");
  if ( layout instanceof Monitorable )
    (Monitorable)layout.setMonitor(taskMonitor);
  layout.doLayout(view);
  ...

Concerns

Outdated_Cytoscape_3.0/MonitorDiscussion (last edited 2011-02-24 16:10:40 by PietMolenaar)

Funding for Cytoscape is provided by a federal grant from the U.S. National Institute of General Medical Sciences (NIGMS) of the Na tional Institutes of Health (NIH) under award number GM070743-01. Corporate funding is provided through a contract from Unilever PLC.

MoinMoin Appliance - Powered by TurnKey Linux