# Simpletransformationschain Discoverer API

First, add the following plug-in dependencies to your project ( Require-Bundle in your Manifest.MF):

- org.eclipse.uml2.uml
- org.eclipse.modisco.usecase.simpletransformationschain
- org.eclipse.modisco.infra.discovery.core

Then, you can use the following discoverer classes:

- DiscoverUmlModelFromJavaProject: from an IJavaProject (defined in jdt.core)
- DiscoverUmlModelFromProject: from an IProject
- DiscoverUmlModelWithBidirectionalAssociationsFromJavaProject: from an IJavaProject, with bidirectional associations
- DiscoverUmlModelWithBidirectionalAssociationsFromProject: from an IProject, with bidirectional associations

For example, to discover a UML model from a Java project:

    DiscoverUmlModelWithBidirectionalAssociationsFromJavaProject discoverer = new DiscoverUmlModelWithBidirectionalAssociationsFromJavaProject();
    discoverer.discoverElement(javaProject, monitor);
    Resource umlModel = discoverer.getTargetModel();

To have a monitor to pass to the `discoverElement` method, you can either call the discoverer in an Eclipse Job, or pass a new NullProgressMonitor if you don't need progress reporting.