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

All Methods Instance Methods Abstract Methods
`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 Detail

#### 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