Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.debug.core.sourcelookup
Interface ISourceLookupDirector

All Superinterfaces:
  IPersistableSourceLocator, IPersistableSourceLocator2, ISourceLocator

All Known Implementing Classes:
  AbstractSourceLookupDirector

public interface ISourceLookupDirector
extends IPersistableSourceLocator2

A source lookup director directs the source lookup process among a set of participants and source containers.

Clients may implement this interface. An astract implementation is provided by `AbstractSourceLookupDirector`, which clients should subclass.

Since:
  3.0

Method Summary
`void` | `addParticipants(ISourceLookupParticipant[] participants)` Adds the given source lookup participants to this director.
`void` | `clearSourceElements(Object element)` Clears any source lookup results associated with the given debug artifact, such that a subsequent lookup will force a new search to be performed.
`Object[]` | `findSourceElements(Object object)` Returns a collection of source elements corresponding to the given debug artifact (for example, a stack frame or breakpoint).
`String` | `getId()` Returns the identifier of this type of source locator.
`ILaunchConfiguration` | `getLaunchConfiguration()` Returns the launch configuration associated with this source lookup director, or `null` if none.
`ISourceLookupParticipant[]` | `getParticipants()` Returns the source lookup participants currently registered with this director, possibly an empty collection.
`ISourceContainer[]` | `getSourceContainers()` Returns the source containers currently registered with this director, possibly an empty collection.
`Object` | `getSourceElement(Object element)` Returns a source element that corresponds to the given debug artifact, or `null` if a source element could not be located.
`ISourcePathComputer` | `getSourcePathComputer()` Returns the source path computer to use with this source lookup director, possibly `null`.
`void` | `initializeParticipants()` Notifies this source lookup director that it should initialize its set of source lookup participants.
`boolean` | `isFindDuplicates()` Returns whether to search exhaustively for all source elements with the same name in all registered source containers, or whether to stop searching when the first source element matching the required name is found.
`void` | `removeParticipants(ISourceLookupParticipant[] participants)` Removes the given source lookup participants from this director.
`void` | `setFindDuplicates(boolean findDuplicates)` Sets whether to search exhaustively for all source elements with the same name in all registered source containers, or whether to stop searching when the first source element matching the required name is found.
`void` | `setSourceContainers(ISourceContainer[] containers)` Sets the source containers this source lookup director should search when looking for source, possibly an empty collection.
`void` | `setSourcePathComputer(ISourcePathComputer computer)` Sets the source path computer for this source lookup director.
`boolean` | `supportsSourceContainerType(ISourceContainerType type)` Returns whether this source director supports the given type of source location.

Methods inherited from interface org.eclipse.debug.core.sourcelookup.IPersistableSourceLocator2
`dispose, initializeFromMemento`

Methods inherited from interface org.eclipse.debug.core.model.IPersistableSourceLocator
`getMemento, initializeDefaults, initializeFromMemento`

Methods inherited from interface org.eclipse.debug.core.model.ISourceLocator
`getSourceElement`

Method Detail

### getLaunchConfiguration

    public ILaunchConfiguration getLaunchConfiguration()

  Returns the launch configuration associated with this source lookup director, or `null` if none.

  Returns:
    the launch configuration associated with this source lookup director, or `null` if none

### getParticipants

    public ISourceLookupParticipant[] getParticipants()

  Returns the source lookup participants currently registered with this director, possibly an empty collection.

  Returns:
    the source lookup participants currently registered with this director, possibly an empty collection

### getSourceContainers

    public ISourceContainer[] getSourceContainers()

  Returns the source containers currently registered with this director, possibly an empty collection.

  Returns:
    the source containers currently registered with this director, possibly an empty collection

### setSourceContainers

    public void setSourceContainers(ISourceContainer[] containers)

  Sets the source containers this source lookup director should search when looking for source, possibly an empty collection.

  Parameters:
    `containers` - the source containers this source lookup director should search when looking for source, possibly an empty collection

### isFindDuplicates

    public boolean isFindDuplicates()

  Returns whether to search exhaustively for all source elements with the same name in all registered source containers, or whether to stop searching when the first source element matching the required name is found.

  Returns:
    whether to search exhaustively for all source elements with the same name

### setFindDuplicates

    public void setFindDuplicates(boolean findDuplicates)

  Sets whether to search exhaustively for all source elements with the same name in all registered source containers, or whether to stop searching when the first source element matching the required name is found.

  Parameters:
    `findDuplicates` - whether to search exhaustively for all source elements with the same name

### initializeParticipants

    public void initializeParticipants()

  Notifies this source lookup director that it should initialize its set of source lookup participants.

### supportsSourceContainerType

    public boolean supportsSourceContainerType(ISourceContainerType type)

  Returns whether this source director supports the given type of source location.

  Parameters:
    `type` - source container type
  Returns:
    whether this source director supports the given type of source location

### clearSourceElements

    public void clearSourceElements(Object element)

  Clears any source lookup results associated with the given debug artifact, such that a subsequent lookup will force a new search to be performed.

  Parameters:
    `element` - debug artifact to clear source lookup results for

### addParticipants

    public void addParticipants(ISourceLookupParticipant[] participants)

  Adds the given source lookup participants to this director.

  Parameters:
    `participants` - participants to add

### removeParticipants

    public void removeParticipants(ISourceLookupParticipant[] participants)

  Removes the given source lookup participants from this director.

  Parameters:
    `participants` - participants to remove

### getId

    public String getId()

  Returns the identifier of this type of source locator.

  Returns:
    the identifier of this type of source locator

### getSourcePathComputer

    public ISourcePathComputer getSourcePathComputer()

  Returns the source path computer to use with this source lookup director, possibly `null`. By default, the source path computer returned is the one associated with this director's launch configuration's type. However, the source path computer can be specified programmatically by calling `setSourcePathComputer(...)`.

  Returns:
    the source path computer to use with this source lookup director, possibly `null`

### setSourcePathComputer

    public void setSourcePathComputer(ISourcePathComputer computer)

  Sets the source path computer for this source lookup director. This method can be used to override the default source path computer for a launch configuration type. When `null` is specified the default source path computer will be used (i.e. the one assocaited with this director's launch configuration's type).

  Parameters:
    `computer` - source path computer or `null`

### findSourceElements

    public Object[] findSourceElements(Object object)
                                throws CoreException

  Returns a collection of source elements corresponding to the given debug artifact (for example, a stack frame or breakpoint). Returns an empty collection if no source elements are found. This participant's source lookup director specifies if duplicate source elements should be searched for, via `isFindDuplicates()`. When `false` the returned collection should contain at most one source element.

  Parameters:
    `object` - the debug artifact for which source needs to be found (e.g., stack frame)
  Returns:
    a collection of source elements corresponding to the given debug artifact, possibly empty
  Throws:
    `CoreException` - if an exception occurrs while searching for source

### getSourceElement

    public Object getSourceElement(Object element)

  Returns a source element that corresponds to the given debug artifact, or `null` if a source element could not be located. This is a generalization of `getSourceElement(IStackFrame)` to allow source to be found for other types of elements.

  Parameters:
    `element` - the debug artifact for which to locate source
  Returns:
    an object representing a source element.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.