package org.rzo.yajsw.wrapper;
import java.io.OutputStream;
import java.util.Date;
import java.util.logging.Logger;
import org.apache.commons.configuration.Configuration;
import org.jboss.netty.logging.InternalLogger;
public interface WrappedProcess
{
/** The Constant STATE_IDLE. */
static final int STATE_IDLE = 0;
/** The Constant STATE_STARTING. */
static final int STATE_STARTING = 1;
/** The Constant STATE_RESTART. */
static final int STATE_RESTART = 2;
/** The Constant STATE_STOP. */
static final int STATE_STOP = 3;
/** The Constant STATE_RUNNING. */
static final int STATE_RUNNING = 4;
/** The Constant STATE_RESTART_START. */
static final int STATE_RESTART_START = 5;
/** The Constant STATE_RESTART_STOP. */
static final int STATE_RESTART_STOP = 6;
/** The Constant STATE_RESTART_WAIT. */
static final int STATE_RESTART_WAIT = 7;
/** The Constant STATE_USER_STOP. */
static final int STATE_USER_STOP = 8;
/** The Constant STATE_ABORT. */
static final int STATE_ABORT = 9;
static final int STATE_SHUTDOWN = 10;
// used only within tray icon to show that app has not yet reported that it is up and running
static final int STATE_APP_WAIT = 11;
/**
* Inits the.
*/
public void init();
/**
* Start.
*/
public void start();
/**
* Stop.
*/
public void stop();
public void stop(String reason);
/**
* Restart.
*/
public void restart();
/**
* Gets the pid.
*
* @return the pid
*/
public int getAppPid();
/**
* Reconnect.
*
* @param pid
* the pid
*
* @return true, if successful
*/
public boolean reconnect(int pid);
/**
* Gets the local configuration.
*
* @return the local configuration
*/
public Configuration getLocalConfiguration();
/**
* Gets the exit code.
*
* @return the exit code
*/
public int getExitCode();
/**
* Sets the use system properties.
*
* @param useSystemProperties
* the new use system properties
*/
public void setUseSystemProperties(boolean useSystemProperties);
public int getState();
public void stopTimer();
public void restartInternal();
public void startByTimer();
public void restartByTimer();
public void setDebug(boolean b);
public void addStateChangeListener(int state, StateChangeListener listener);
public void addStateChangeListener(StateChangeListener listener);
public void addTriggerListener(TriggerListener listener);
public int getRestartCount();
public String getStringState();
public String getName();
public void startDrain();
public String readDrainLine();
public void stopDrain();
public OutputStream getOutputStream();
public Date getAppStarted();
public Date getAppStopped();
public Date getWrapperStarted();
public int getAppThreads();
public long getAppVMemory();
public long getAppPMemory();
public int getAppCpu();
public int getAppHandles();
public int getWrapperPid();
public boolean isTimerActive();
public boolean isConditionActive();
public void threadDump();
public void gc();
public void dumpHeap(String fileName);
public void stopTimerCondition();
public boolean isOSProcessRunning();
public void waitFor();
public void waitFor(long duration);
public int getTotalRestartCount();
public String getType();
public Logger getWrapperLogger();
public void removeStateChangeListener(StateChangeListener listener);
public void shutdown();
public void setLocalConfiguration(Configuration config);
public void osProcessTerminated();
public boolean isHaltWrapperOnApp();
public boolean isHaltAppOnWrapper();
public void removeStateChangeListener(int state);
public void setExiting();
public boolean isExiting();
public TrayIconProxy getTrayIcon();
public void setService(Object service);
public long getMaxStartTime();
public void setStopper(boolean b);
public Configuration getYajswConfig();
public void signalStopping(long valueOf);
public boolean isAppReportedReady();
public void setAppReportedReady(boolean appReportedReady);
public InternalLogger getInternalWrapperLogger();
}