Class AbstractSourceLookupParticipant

  • All Implemented Interfaces:
    ISourceLookupParticipant

    public abstract class AbstractSourceLookupParticipant
    extends java.lang.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 Summary

      Fields 
      Modifier and Type Field Description
      protected static java.lang.Object[] EMPTY  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void dispose()
      Disposes this source lookup participant.
      java.lang.Object[] findSourceElements​(java.lang.Object object)
      Returns a collection of source elements corresponding to the given debug artifact (for example, a stack frame or breakpoint).
      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.
      protected ISourceLookupDirector getDirector()
      Returns the source lookup director this participant is registered with or null if none.
      protected ISourceContainer[] getSourceContainers()
      Returns the source containers currently registered with this participant's source lookup director.
      void init​(ISourceLookupDirector director)
      Notification this participant has been added to the specified source lookup director.
      boolean isFindDuplicates()
      Returns whether this participant's source lookup director is configured to search for duplicate source elements.
      void sourceContainersChanged​(ISourceLookupDirector director)
      Notification that the source lookup containers in the given source lookup director have changed.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • EMPTY

        protected static final java.lang.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 java.lang.Object[] findSourceElements​(java.lang.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