Package org.snpeff.osCmd
Class ExecuteOsCommand
- java.lang.Object
-
- java.lang.Thread
-
- org.snpeff.osCmd.ExecuteOsCommand
-
- All Implemented Interfaces:
java.lang.Runnable,Progress
public class ExecuteOsCommand extends java.lang.Thread implements Progress
Launches an 'OS command' (e.g. "ls", "dir") Note: Launching a system command in Java is not trivial, we need to start 2 threads that read STDOUT and STDERR of the process, otherwise it will block (actually it may even cause a deadlock) References: http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=1- Author:
- pcingola
-
-
Field Summary
Fields Modifier and Type Field Description static booleandebug
-
Constructor Summary
Constructors Constructor Description ExecuteOsCommand(java.lang.String command)ExecuteOsCommand(java.lang.String[] args)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intexec()java.lang.String[]getCommandArgs()intgetExitValue()java.lang.StringgetHead()First lines of stdoutjava.lang.StringgetHeadStderr()First lines of stderrintgetProgress()java.lang.StringgetPwd()java.lang.StringgetRedirectStderr()java.lang.StringgetRedirectStdout()java.lang.StringgetStderr()java.io.OutputStreamgetStdin()java.lang.StringgetStdout()LineFiltergetStdOutFilter()booleanisAlertDone()booleanisBinaryStderr()booleanisBinaryStdout()booleanisExecuting()booleanisQuiet()booleanisSaveStd()booleanisStarted()voidkill()voidprogress()Report progressvoidresetBuffers()voidrun()voidsetBinaryStderr(boolean binaryStderr)voidsetBinaryStdout(boolean binaryStdout)voidsetCommandArgs(java.lang.String[] commandArgs)voidsetObjetcToNotify(java.lang.Object objetcToNotify)voidsetPwd(java.lang.String pwd)voidsetQuiet(boolean quietStdout, boolean quietStderr)voidsetRedirectStderr(java.lang.String redirectStderr)voidsetRedirectStdout(java.lang.String redirectStdout)voidsetSaveStd(boolean saveStd)voidsetShowExceptions(boolean showExceptions)voidsetStdoutAlert(java.lang.String alert)voidsetStdoutAlertNotify(java.lang.Object toBeNotified)voidsetStdOutFilter(LineFilter stdOutFilter)java.lang.StringtoString()-
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, yield
-
-
-
-
Method Detail
-
exec
public int exec()
-
getCommandArgs
public java.lang.String[] getCommandArgs()
-
getExitValue
public int getExitValue()
-
getHead
public java.lang.String getHead()
First lines of stdout
-
getHeadStderr
public java.lang.String getHeadStderr()
First lines of stderr
-
getProgress
public int getProgress()
- Specified by:
getProgressin interfaceProgress
-
getPwd
public java.lang.String getPwd()
-
getRedirectStderr
public java.lang.String getRedirectStderr()
-
getRedirectStdout
public java.lang.String getRedirectStdout()
-
getStderr
public java.lang.String getStderr()
-
getStdin
public java.io.OutputStream getStdin()
-
getStdout
public java.lang.String getStdout()
-
getStdOutFilter
public LineFilter getStdOutFilter()
-
isAlertDone
public boolean isAlertDone()
-
isBinaryStderr
public boolean isBinaryStderr()
-
isBinaryStdout
public boolean isBinaryStdout()
-
isExecuting
public boolean isExecuting()
-
isQuiet
public boolean isQuiet()
-
isSaveStd
public boolean isSaveStd()
-
isStarted
public boolean isStarted()
-
kill
public void kill()
-
resetBuffers
public void resetBuffers()
-
run
public void run()
- Specified by:
runin interfacejava.lang.Runnable- Overrides:
runin classjava.lang.Thread
-
setBinaryStderr
public void setBinaryStderr(boolean binaryStderr)
-
setBinaryStdout
public void setBinaryStdout(boolean binaryStdout)
-
setCommandArgs
public void setCommandArgs(java.lang.String[] commandArgs)
-
setObjetcToNotify
public void setObjetcToNotify(java.lang.Object objetcToNotify)
-
setPwd
public void setPwd(java.lang.String pwd)
-
setQuiet
public void setQuiet(boolean quietStdout, boolean quietStderr)
-
setRedirectStderr
public void setRedirectStderr(java.lang.String redirectStderr)
-
setRedirectStdout
public void setRedirectStdout(java.lang.String redirectStdout)
-
setSaveStd
public void setSaveStd(boolean saveStd)
-
setShowExceptions
public void setShowExceptions(boolean showExceptions)
-
setStdoutAlert
public void setStdoutAlert(java.lang.String alert)
-
setStdoutAlertNotify
public void setStdoutAlertNotify(java.lang.Object toBeNotified)
-
setStdOutFilter
public void setStdOutFilter(LineFilter stdOutFilter)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Thread
-
-