editor.run.IRunConfig Maven / Gradle / Ivy
package editor.run;
import gw.lang.reflect.json.IJsonIO;
import javax.swing.*;
import java.util.function.Consumer;
/**
*/
public interface IRunConfig> extends IJsonIO
{
T getParams();
void setParams( T params );
default String getName()
{
return getParams().getName();
}
boolean isValid();
Icon getIcon();
JComponent makePanel( T params, Consumer changeListener );
boolean isRunnable();
IProcessRunner run();
boolean isDebuggable();
IProcessRunner debug();
}