1 /******************************************************************************* 2 * Copyright (c) 2003, 2005 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 *******************************************************************************/ 11 package org.eclipse.debug.core.sourcelookup; 12 13 import org.eclipse.core.runtime.CoreException; 14 import org.eclipse.core.runtime.IProgressMonitor; 15 import org.eclipse.debug.core.ILaunchConfiguration; 16 17 /** 18 * A source path computer delegate computes the default source lookup path 19 * (set of source containers that should be considered) for a launch 20 * configuration. 21 * <p> 22 * A source path computer is contributed in plug-in XML via the 23 * <code>sourcePathComputers</code> extension point, providing a delegate 24 * to compute the default source lookup path specific to a launch 25 * configuration. 26 * </p> 27 * <p> 28 * Clients may implement this interface. 29 * </p> 30 * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputer 31 * @since 3.0 32 */ 33 public interface ISourcePathComputerDelegate { 34 35 /** 36 * Returns a default collection source containers to be considered for the 37 * given launch configuration. The collection returned represents the default 38 * source lookup path for the given configuration. 39 * 40 * @param configuration the launch configuration for which a default source lookup path 41 * is to be computed 42 * @param monitor a progress monitor to be used in case of long operations 43 * @return a default collection source containers to be considered for the 44 * given launch configuration 45 * @exception CoreException if unable to compute a default source lookup path 46 */ 47 public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException; 48 49 } 50