1 /*******************************************************************************
2  * Copyright (c) 2004, 2005 IBM Corporation and others.
3  *
4  * This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License 2.0
6  * which accompanies this distribution, and is available at
7  * https://www.eclipse.org/legal/epl-2.0/
8  *
9  * SPDX-License-Identifier: EPL-2.0
10  *
11  * Contributors:
12  *     IBM Corporation - initial API and implementation
13  *******************************************************************************/
14 
15 package org.eclipse.debug.core.sourcelookup;
16 
17 import org.eclipse.core.runtime.CoreException;
18 import org.eclipse.debug.core.ILaunchConfiguration;
19 import org.eclipse.debug.core.model.IPersistableSourceLocator;
20 
21 /**
22  * Extensions to the <code>IPersistableSourceLocator</code> interface.
23  * <p>
24  * Clients may optionally implement this interface when implementing an
25  * {@link org.eclipse.debug.core.model.IPersistableSourceLocator}.
26  * </p>
27  * @see org.eclipse.debug.core.model.IPersistableSourceLocator
28  * @since 3.0
29  */
30 public interface IPersistableSourceLocator2 extends IPersistableSourceLocator {
31 
32 	/**
33 	 * Initializes this source locator based on the given
34 	 * memento, for the given launch configuration. This method
35 	 * is called instead of <code>initializeFrom(String memento)</code>
36 	 * defined in <code>IPersistableSourceLocator</code> when a source
37 	 * locator implements this interface.
38 	 *
39 	 * @param memento a memento to initialize this source locator
40 	 * @param configuration the launch configuration this source locator is
41 	 *  being created for
42 	 * @exception CoreException on failure to initialize
43 	 */
initializeFromMemento(String memento, ILaunchConfiguration configuration)44 	void initializeFromMemento(String memento, ILaunchConfiguration configuration) throws CoreException;
45 
46 	/**
47 	 * Disposes this source locator. This method is called when a source
48 	 * locator's associated launch is removed from the launch manager.
49 	 */
dispose()50 	void dispose();
51 }
52