Class AbstractSourceLookupParticipant

java.lang.Object
org.eclipse.debug.core.sourcelookup.AbstractSourceLookupParticipant
All Implemented Interfaces:
ISourceLookupParticipant

public abstract class AbstractSourceLookupParticipant extends Object implements ISourceLookupParticipant
Common super class for implementations of source lookup participants.

Clients implementing source lookup participants should subclass this class.

Since:
3.0
  • Field Details

    • EMPTY

      protected static final Object[] EMPTY
  • Constructor Details

    • AbstractSourceLookupParticipant

      public AbstractSourceLookupParticipant()
  • Method Details

    • init

      public void init(ISourceLookupDirector director)
      Description copied from interface: ISourceLookupParticipant
      Notification this participant has been added to the specified source lookup director.
      Specified by:
      init in interface ISourceLookupParticipant
      Parameters:
      director - the source lookup director that this participant has been added to
    • dispose

      public void dispose()
      Description copied from interface: ISourceLookupParticipant
      Disposes this source lookup participant. This method is called when the source lookup director associated with this participant is disposed.
      Specified by:
      dispose in interface ISourceLookupParticipant
    • findSourceElements

      public Object[] findSourceElements(Object object) throws CoreException
      Description copied from interface: ISourceLookupParticipant
      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.

      If the given debug artifact is not recognized by this participant, an empty collection is returned. Otherwise, this participant generates a source name from the given artifact and performs a search for associated source elements in its source containers.

      Specified by:
      findSourceElements in interface ISourceLookupParticipant
      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 occurs while searching for source
    • getDelegateContainer

      protected ISourceContainer getDelegateContainer(ISourceContainer container)
      Returns the source container to search in place of the given source container, or null if the given source container is not to be searched. The default implementation does not translate source containers. Subclasses should override if required.
      Parameters:
      container - the source container about to be searched (proxy)
      Returns:
      the source container to be searched (delegate), or null if the source container should not be searched
    • getDirector

      protected ISourceLookupDirector getDirector()
      Returns the source lookup director this participant is registered with or null if none.
      Returns:
      the source lookup director this participant is registered with or null if none
    • isFindDuplicates

      public boolean isFindDuplicates()
      Returns whether this participant's source lookup director is configured to search for duplicate source elements.
      Returns:
      whether this participant's source lookup director is configured to search for duplicate source elements
      Since:
      3.5
    • getSourceContainers

      protected ISourceContainer[] getSourceContainers()
      Returns the source containers currently registered with this participant's source lookup director.
      Returns:
      the source containers currently registered with this participant's source lookup director
    • sourceContainersChanged

      public void sourceContainersChanged(ISourceLookupDirector director)
      Description copied from interface: ISourceLookupParticipant
      Notification that the source lookup containers in the given source lookup director have changed.
      Specified by:
      sourceContainersChanged in interface ISourceLookupParticipant
      Parameters:
      director - source lookup director that is directing this participant