## php.java.script
Class CGIRunner

    java.lang.Object
      java.lang.Thread
          php.java.script.CGIRunner

All Implemented Interfaces:
  java.lang.Runnable

Direct Known Subclasses:
  HttpProxy

    public abstract class CGIRunner

extends java.lang.Thread

This class can be used to run a PHP CGI binary. Useful during development when there's no Apache/IIS or Servlet engine available to run PHP scripts.

Author:
  jostb

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`

Method Summary
`void` `call(PhpProcedureProxy script)` The PHP script must call this function with the current continuation as an argument.
`PhpProcedureProxy` `getPhpScript()` One must call this function if one is interested in the php continuation.
`void` `release()` This function must be called to release the allocated php continuation.
`void` `run()`

Methods inherited from class java.lang.Thread

`activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Method Detail

### run

    public void run()

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

### call

    public void call(PhpProcedureProxy script)
              throws java.lang.InterruptedException

  The PHP script must call this function with the current continuation as an argument.

  Example:

  `java_context()->call(java_closure());
  `

  Parameters:
    `script` - - The php continuation
  Throws:
    `java.lang.InterruptedException`

### getPhpScript

    public PhpProcedureProxy getPhpScript()
                                   throws java.lang.InterruptedException

  One must call this function if one is interested in the php continuation.

  Returns:
    The php continuation.
  Throws:
    `java.lang.InterruptedException`

### release

    public void release()

  This function must be called to release the allocated php continuation.