Package org.eclipse.debug.ui.sourcelookup

# Interface ISourceContainerBrowser

All Known Implementing Classes:
  `AbstractSourceContainerBrowser`

public interface ISourceContainerBrowser
Creates and edits source containers for a source lookup director. Contributed via a source container presentation extension for a specific type of source container.

Following is an example source container presentation definition that contributes a source container browser via the `browserClass` attribute.

     <extension point="org.eclipse.debug.ui.sourceContainerPresentations">
        <sourceContainerPresentation
              browserClass="org.eclipse.debug.internal.ui.sourcelookup.browsers.ProjectSourceContainerBrowser"
              containerTypeID="org.eclipse.debug.core.containerType.project"
              icon="icons/full/obj16/prj_obj.png"
              id="org.eclipse.debug.ui.containerPresentation.project">
        </sourceContainerPresentation>
     </extension>

Since:
  3.0

## Method Summary

Modifier and Type
Method
Description
`ISourceContainer[]`
`addSourceContainers(Shell shell, ISourceLookupDirector director)`
Creates and returns new source containers to add to the given source lookup director.
`boolean`
`canAddSourceContainers(ISourceLookupDirector director)`
Returns whether this browser can add any source containers to the given source lookup director.
`boolean`
`canEditSourceContainers(ISourceLookupDirector director, ISourceContainer[] containers)`
Returns whether this browser can edit the given source containers.
`ISourceContainer[]`
`editSourceContainers(Shell shell, ISourceLookupDirector director, ISourceContainer[] containers)`
Edits and returns source containers to replace the given source containers.

## Method Details

### addSourceContainers

ISourceContainer[] addSourceContainers(Shell shell, ISourceLookupDirector director)
Creates and returns new source containers to add to the given source lookup director.

Parameters:
  `shell` - the shell to use to parent any dialogs
  `director` - the director the new containers will be added to
Returns:
  the new source containers to add

### canAddSourceContainers

boolean canAddSourceContainers(ISourceLookupDirector director)
Returns whether this browser can add any source containers to the given source lookup director.

Parameters:
  `director` - source lookup director to potentially add source containers to
Returns:
  whether this browser can add any source containers to the given source lookup director

### editSourceContainers

ISourceContainer[] editSourceContainers(Shell shell, ISourceLookupDirector director, ISourceContainer[] containers)
Edits and returns source containers to replace the given source containers.

Parameters:
  `shell` - the shell to use to parent any dialogs
  `director` - the director the new containers will be added to
  `containers` - the source containers to be edited
Returns:
  the replacement source containers

### canEditSourceContainers

boolean canEditSourceContainers(ISourceLookupDirector director, ISourceContainer[] containers)
Returns whether this browser can edit the given source containers.

Parameters:
  `director` - source lookup director to potentially edit source containers for
  `containers` - the containers to edit
Returns:
  whether this browser can edit the given source containers