php.java.servlet
Class CGIServlet.CGIRunner

java.lang.Object
  extended by php.java.servlet.CGIServlet.CGIRunner
Direct Known Subclasses:
FastCGIServlet.CGIRunner, PhpCGIServlet.CGIRunner
Enclosing class:
CGIServlet

protected abstract class CGIServlet.CGIRunner
extends java.lang.Object

Encapsulates the knowledge of how to run a CGI script, given the script's desired environment and (optionally) input/output streams

Exposes a run method used to actually invoke the CGI.

The CGI environment and settings are derived from the information passed to the constuctor.

The input and output streams can be set by the setInput and setResponse methods, respectively.

Author:
Martin Dengler [root@martindengler.com]

Field Summary
protected  java.util.HashMap env
          environment used when invoking the cgi script
protected  javax.servlet.http.HttpServletResponse response
          response object used to set headers & get output stream
protected  java.io.InputStream stdin
          stdin to be passed to cgi script
protected  java.io.File wd
          working directory used when invoking the cgi script
 
Constructor Summary
protected CGIServlet.CGIRunner(CGIServlet.CGIEnvironment env)
           
 
Method Summary
protected  void addHeader(java.lang.String line)
           
protected abstract  void execute()
           
protected  void setInput(java.io.InputStream stdin)
          Sets standard input to be passed on to the invoked cgi script
protected  void setResponse(javax.servlet.http.HttpServletResponse response)
          Sets HttpServletResponse object used to set headers and send output to
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

env

protected java.util.HashMap env
environment used when invoking the cgi script


wd

protected java.io.File wd
working directory used when invoking the cgi script


stdin

protected java.io.InputStream stdin
stdin to be passed to cgi script


response

protected javax.servlet.http.HttpServletResponse response
response object used to set headers & get output stream

Constructor Detail

CGIServlet.CGIRunner

protected CGIServlet.CGIRunner(CGIServlet.CGIEnvironment env)
Method Detail

execute

protected abstract void execute()
                         throws java.io.IOException,
                                javax.servlet.ServletException,
                                java.lang.InterruptedException
Throws:
java.io.IOException
javax.servlet.ServletException
java.lang.InterruptedException

setResponse

protected void setResponse(javax.servlet.http.HttpServletResponse response)
Sets HttpServletResponse object used to set headers and send output to

Parameters:
response - HttpServletResponse to be used

setInput

protected void setInput(java.io.InputStream stdin)
Sets standard input to be passed on to the invoked cgi script

Parameters:
stdin - InputStream to be used

addHeader

protected void addHeader(java.lang.String line)