Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
MoDisco/Components/DiscoverersManager/Documentation/0.9.beta
< MoDisco | Components | DiscoverersManager | Documentation
Revision as of 09:45, 3 November 2010 by Fabien.giquel.soprasteria.com (Talk | contribs)
Work in progress
Features are grouped according to the interested actor :
- The end user uses existing discoverers through Eclipse workspace features
- The adopter uses existing discoverers through a dedicated Eclipse/Java API
- The adopter develop new discoverers through a dedicated Eclipse/Java API
Contents
End User Features
Adopter Features
Discoverers declaration API
TODO wizard documentation
Developing a new Discoverer
Basics concepts
The framework proposes a Java interface org.eclipse.modisco.infra.discoverymanager.core.Discoverer<T> that every discoverer must implement.
public interface Discoverer<T> { public boolean isApplicableTo(final T source); public IStatus discoverElement(final T source) throws DiscoveryException; }
- isApplicableTo method : Determines if the source object can be handled by the discoverer. Each discoverer has to implement this method with its own criteria to filter the selected object. If the source object is managed by this discoverer, the discoverer menu will be available in the pop-up menu when users click with the contextual button (at the condition there is no parameter with required property value to true), and in the discoverer launch configuration types.
- discoverElement method : Generic method for launching a discovery from a source element.
- additional discovery parameters values (input or output) should be managed using fields and methods annotated with org.eclipse.modisco.infra.discoverymanager.core.annotations.Parameter annotation.
Annotating your method/field as parameters of the discovery will enable generic catalog API (see below) and so some client generic behavior (e.g. launchconfig feature for end user).
The advanced API
TODO classes AbstractDiscoverer and AbstractModelDiscoverer
Declaring a new Discoverer
Discoverers catalog and generic invocation API
TODO org.eclipse.modisco.infra.discoverymanager.core.DiscoveryCatalog TODO org.eclipse.modisco.infra.discoverymanager.core.DiscovererHandler/ParameterHandler