Skip to content, Skip to search

Changes

SciJava Common

561 bytes added, 09:08, 3 December 2018
Add link to API version history
Here are a few of SciJava Common's major core services:
* '''{{Javadoc | project = SciJava | package = org/scijava/app | class = AppService}}''' - Tracks software applications (SCIFIO, ImageJ, etc.) present in the context.* '''{{Javadoc | project = SciJava | package = org/scijava/display | class = DisplayService}}''' - Tracks available displays, as well as the active display, and provides the means to create new displays to visualize data.* '''{{Javadoc | project = SciJava | package = org/scijava/event | class = EventService}}''' - Publishes events to the [[wikipedia:Publish%E2%80%93subscribe pattern|event bus]], and allows interested parties to subscribe to them. The service provides the central means of communication between various parts of the codebase.* '''{{Javadoc | project = SciJava | package = org/scijava/io | class = IOService}}''' - General tools for opening and saving data within the context.* '''{{Javadoc | project = SciJava | package = org/scijava/menu | class = MenuService}}''' - Builds the application menu structure.* '''{{Javadoc | project = SciJava | package = org/scijava/module | class = ModuleService}}''' - Tracks available modules, and provides the infrastructure for executing them.* '''{{Javadoc | project = SciJava | package = org/scijava/object | class = ObjectService}}''' - Tracks available objects of various types, including {{Javadoc | package = net/imagej | class = Dataset}}s and {{Javadoc | package = org/scijava/display | class = Display}}s.* '''{{Javadoc | project = SciJava | package = org/scijava/options | class = OptionsService}}''' - Tools for managing program settings.* '''{{Javadoc | project = SciJava | package = org/scijava/platform | class = PlatformService}}''' - Provides hooks for extending the application's behavior depending on the deployment platform (operating system, version of Java, etc.).* '''{{Javadoc | project = SciJava | package = org/scijava/plugin | class = PluginService}}''' - Tracks available plugins, and provides the infrastructure for executing them (using the {{Javadoc | package = org/scijava/module | class = ModuleService}}).* '''{{Javadoc | project = SciJava | package = org/scijava/script | class = ScriptService}}''' - Provides utilities for running scripts and macros.* '''{{Javadoc | project = SciJava | package = org/scijava/app | class = StatusService}}''' - Publishes status updates for ongoing operations.* '''{{Javadoc | project = SciJava | package = org/scijava/thread | class = ThreadService}}''' - Manages multithreading.* '''{{Javadoc | project = SciJava | package = org/scijava/tool | class = ToolService}}''' - Tracks available tools—logic binding user input to behavior—as well as the active tool (selected on the toolbar).* '''{{Javadoc | project = SciJava | package = org/scijava/ui | class = UIService}}''' - Discovers and launches a user interface for interacting with ImageJ.
=== ImageJ services ===
When modules are added, removed or changed (via {{Javadoc | package = org/scijava/module/event | class = ModulesAddedEvent}}, {{Javadoc | package = org/scijava/module/event | class = ModulesRemovedEvent}}, {{Javadoc | package = org/scijava/module/event | class = ModulesUpdatedEvent}}), the <code>MenuService</code> listens and updates the associated <code>ShadowMenu</code>(s) accordingly. It notifies interested parties that it has done so by firing a corresponding event: {{Javadoc | package = org/scijava/menu/event | class = MenusAddedEvent}}, {{Javadoc | package = org/scijava/menu/event | class = MenusRemovedEvent}}, or {{Javadoc | package = org/scijava/menu/event | class = MenusUpdatedEvent}}.
 
= API Version History =
 
A history of API changes is available at:
https://abi-laboratory.pro/java/tracker/timeline/scijava-common/
= Further reading =
Bureaucrat, emailconfirmed, incoming, administrator, uploaders
707
edits