// Copyright (c) 2003-2008 by Leif Frenzel. All rights reserved. // This code is made available under the terms of the Eclipse Public License, // version 1.0 (EPL). See http://www.eclipse.org/legal/epl-v10.html package net.sf.eclipsefp.haskell.debug.core.internal.launch; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; /** <p>Implementors tell the <code>AbstractInteractiveLaunchShortcut</code> * the essential things for launching an interactive environment for a * source file (or set of source files).</p> * * <p>The combination of a subclass of * <code>AbstractInteractiveLaunchShortcut</code> and an implementation of * this interface can be used by plugins that run interactive environmens.</p> * * @author Leif Frenzel */ public interface IInteractiveLaunchOperationDelegate { /** <p>returns the name of the executable. This is used to run * <code>Runtime.exec()</code> and should therefore name an existing and * executable file on the system.</p> */ String getExecutable(); /** <p>creates the command line arguments (list the modules to be loaded, * library paths etc.).</p> */ String[] createArguments( IProject hsProject, IFile[] files,String mode ); /** * get the reload command or null if not supported * @return the reload command, or null */ String getReloadCommand(); }