Class 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 Detail

      • EMPTY

        protected static final Object[] EMPTY
    • Constructor Detail

      • AbstractSourceLookupParticipant

        public AbstractSourceLookupParticipant()
    • Method Detail

      • 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