kernel
Class AbstractProcess

java.lang.Object
  extended by java.lang.Thread
      extended by kernel.AbstractProcess
All Implemented Interfaces:
java.lang.Runnable, IProcess
Direct Known Subclasses:
cat, cd, date, echo, exit, grep, kill, login, ls, man, ps, pwd, shell, shutdown

public abstract class AbstractProcess
extends java.lang.Thread
implements IProcess

Instance of process

Since:
5.11.2007

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
AbstractProcess()
          Constructor without any parameters for ClassLoader
 
Method Summary
 void enableStdIn()
           
 boolean equals(java.lang.Object o)
           
 void exec()
          Method for process execution
 java.util.List<java.lang.String> getArgs()
           
 java.lang.String getCommand()
           
 java.lang.String getCurrentPath()
           
 java.io.OutputStream getErrOut()
           
 AbstractProcess getFirstChild()
           
 int getID()
           
 java.io.InputStream getIn()
           
 Kernel getKernel()
           
 AbstractProcess getNext()
           
 java.io.OutputStream getOut()
           
 AbstractProcess getParent()
           
 java.lang.String getParentCurrentPath()
           
 AbstractProcess getParentShell()
           
 AbstractProcess getPrevious()
           
 Kernel getServices()
           
 void init(Command command, AbstractProcess parent, java.io.InputStream in, java.io.OutputStream out, java.io.OutputStream err, Kernel services)
          Construct process
 void init(Command command, java.io.InputStream in, java.io.OutputStream out, java.io.OutputStream err, Kernel services)
          Construct process
 void kill()
          Kill process and all children
 void printError(java.lang.String text)
           
 void run()
          thread run of process
 void setCurrentPath(java.lang.String currentPath)
           
 void setErrOut(java.io.OutputStream err)
           
 void setFirstChild(AbstractProcess process)
          set child process
 void setIn(java.io.InputStream in)
           
 void setNext(AbstractProcess next)
           
 void setOut(java.io.OutputStream out)
           
 void setParentCurrentPath(java.lang.String currentPath)
           
 void setPrevious(AbstractProcess previous)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Thread
activeCount, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, checkAccess, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, yield
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface kernel.IProcess
getHelp, realization
 

Constructor Detail

AbstractProcess

public AbstractProcess()
Constructor without any parameters for ClassLoader

Method Detail

enableStdIn

public void enableStdIn()

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

exec

public void exec()
Method for process execution


getArgs

public java.util.List<java.lang.String> getArgs()
Returns:
list of command line arguments

getCommand

public java.lang.String getCommand()
Returns:
name of process

getCurrentPath

public java.lang.String getCurrentPath()

getErrOut

public java.io.OutputStream getErrOut()
Returns:
error output stream

getFirstChild

public AbstractProcess getFirstChild()
Returns:
first child process

getID

public int getID()
Returns:
id of process

getIn

public java.io.InputStream getIn()
Returns:
input stream

getKernel

public Kernel getKernel()
Returns:
instance of interface which contains methods for comunication with kernel

getNext

public AbstractProcess getNext()
Returns:
next process in pipe

getOut

public java.io.OutputStream getOut()
Returns:
output stream

getParent

public AbstractProcess getParent()
Returns:
parent process

getParentCurrentPath

public java.lang.String getParentCurrentPath()

getParentShell

public AbstractProcess getParentShell()

getPrevious

public AbstractProcess getPrevious()
Returns:
previous process in pipe

getServices

public Kernel getServices()

init

public void init(Command command,
                 AbstractProcess parent,
                 java.io.InputStream in,
                 java.io.OutputStream out,
                 java.io.OutputStream err,
                 Kernel services)
Construct process

Parameters:
command - command name
parent - parent process
in - input stream
out - output stream
err - error stream
services - kernel services

init

public void init(Command command,
                 java.io.InputStream in,
                 java.io.OutputStream out,
                 java.io.OutputStream err,
                 Kernel services)
Construct process

Parameters:
command - command name
in - input stream
out - output stream
err - error stream
services - kernel services

kill

public void kill()
Kill process and all children


printError

public void printError(java.lang.String text)

run

public void run()
thread run of process

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

setCurrentPath

public void setCurrentPath(java.lang.String currentPath)

setErrOut

public void setErrOut(java.io.OutputStream err)

setFirstChild

public void setFirstChild(AbstractProcess process)
set child process


setIn

public void setIn(java.io.InputStream in)

setNext

public void setNext(AbstractProcess next)
Parameters:
next - next process in pipe

setOut

public void setOut(java.io.OutputStream out)

setParentCurrentPath

public void setParentCurrentPath(java.lang.String currentPath)

setPrevious

public void setPrevious(AbstractProcess previous)
Parameters:
previous - previous process in pipe

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Thread