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