/** * Copyright (c) Red Hat, Inc., contributors and others 2013 - 2014. All rights reserved * * Licensed under the Eclipse Public License version 1.0, available at * http://www.eclipse.org/legal/epl-v10.html */ package org.jboss.tools.forge.core.runtime; import java.beans.PropertyChangeListener; import org.eclipse.core.runtime.IProgressMonitor; import org.jboss.tools.forge.core.io.ForgeOutputListener; public interface ForgeRuntime { String PROPERTY_STATE = "org.jboss.tools.forge.runtime.state"; String getName(); String getLocation(); ForgeRuntimeType getType(); ForgeRuntimeState getState(); String getVersion(); void start(IProgressMonitor progressMonitor); void stop(IProgressMonitor progressMonitor); String getErrorMessage(); void sendInput(String str); String sendCommand(String str); void addOutputListener(ForgeOutputListener outputListener); void removeOutputListener(ForgeOutputListener outputListener); void addPropertyChangeListener(PropertyChangeListener propertyChangeListener); void removePropertyChangeListener(PropertyChangeListener propertyChangeListener); }