Package org.eclipse.jdt.launching.sourcelookup.advanced

# Interface IWorkspaceProjectDescriber.IJavaProjectSourceDescription

Enclosing interface:
  `IWorkspaceProjectDescriber`

public static interface IWorkspaceProjectDescriber.IJavaProjectSourceDescription

## Method Summary

Modifier and Type
Method
Description
`void`
`addDependencies(Map<File,IPackageFragmentRoot> dependencies)`
Adds runtime classes location of project dependencies and their corresponding package fragment roots, typically for standard java application, this is dependency jar or classes directory for equinox, this is dependency bundle location
`void`
`addLocation(File location)`
Adds filesystem classes directories or jar files as reported by the runtime for project classes.
`void`
`addSourceContainerFactory(Supplier<org.eclipse.debug.core.sourcelookup.ISourceContainer> factory)`
Adds factory of source container(s) for the project itself, typically: JavaProjectSourceContainer for normal projects with sources folders PackageFragmentRootSourceContainer for PDE and M2E binary projects In some cases one project will have multiple associated source container.

## Method Details

### addLocation

void addLocation(File location)
Adds filesystem classes directories or jar files as reported by the runtime for project classes. Some common examples:

- for standard java projects this is project output locations
- for M2E Binary Maven projects, this is one of project claspath entries
- for PDE Plug-In projects used by Equinox, this is project bundle installation location
- for PDE Plug-In projects used plain java, this is still project output locations

### addSourceContainerFactory

void addSourceContainerFactory(Supplier<org.eclipse.debug.core.sourcelookup.ISourceContainer> factory)
Adds factory of source container(s) for the project itself, typically:

- JavaProjectSourceContainer for normal projects with sources folders
- PackageFragmentRootSourceContainer for PDE and M2E binary projects

In some cases one project will have multiple associated source container. For example, Binary Maven project that represents an "uber" jar will have a source container factory for each jar included in the uber jar.

### addDependencies

void addDependencies(Map<File,IPackageFragmentRoot> dependencies)
Adds runtime classes location of project dependencies and their corresponding package fragment roots, typically

- for standard java application, this is dependency jar or classes directory
- for equinox, this is dependency bundle location