Interface TunableSetter


public interface TunableSetter
An API for setting tunable fields and methods with predetermined values in the Tasks found in the specified TaskIterator. This interface is provided as a convenience to TaskFactory authors who also want to provide an additional API to their TaskFactories that allow Tasks to be configured with method parameters. TunableSetters are provided as OSGi services.

Module: work-api

To use this in your app, include the following dependency in your POM:

<dependency>
    <groupId>org.cytoscape</groupId>
    <artifactId>work-api</artifactId>
</dependency>

Cytoscape Backwards Compatibility (API Interface): We expect that this interface will be used but not implemented by developers using this interface. As such, we reserve the right to add methods to the interface as part of minor version upgrades. We will not remove methods for any changes other than major version upgrades.
  • Method Details

    • createTaskIterator

      TaskIterator createTaskIterator(TaskIterator taskIterator, Map<String,Object> tunableValues)
      This method takes as input a TaskIterator and a map of tunable names to tunable values and applies those values to any tunables found in the Tasks found in the TaskIterator. The return value is a new TaskIterator containing pre-configured tasks.
      Parameters:
      taskIterator - The incoming TaskIterator which contains the tasks whose tunables will be set.
      tunableValues - A map of names to tunable values. The names must match the field or method name of the tunable in question.
      Returns:
      A new TaskIterator that contains Task(s) with tunable values already set.
    • createTaskIterator

      TaskIterator createTaskIterator(TaskIterator taskIterator, Map<String,Object> tunableValues, TaskObserver observer)
      This version of createTaskIterator adds a TaskObserver argument. Since the tasks are preconfigured the implementation of a TunableSetter acts somewhat like a TaskManager, so it has to handle the ObservableTasks.
      Parameters:
      taskIterator - The incoming TaskIterator which contains the tasks whose tunables will be set.
      tunableValues - A map of names to tunable values. The names must match the field or method name of the tunable in question.
      observer - The TaskObserver that will handle any ObservableTask results
      Returns:
      A new TaskIterator that contains Task(s) with tunable values already set.
    • applyTunables

      void applyTunables(Object object, Map<String,Object> tunableValues)
      Applies each value from the key-value pairs in tunableValues to the tunable in the given object whose name matches the corresponding key.
      Parameters:
      object - The object whose tunables will be set.
      tunableValues - A map of names to tunable values. The names must match the field or method name of the tunable in question.