php.java.script
Class InteractivePhpScriptEngine

java.lang.Object
  extended by javax.script.AbstractScriptEngine
      extended by php.java.script.InvocablePhpScriptEngine
          extended by php.java.script.InteractivePhpScriptEngine
All Implemented Interfaces:
Invocable, ScriptEngine

public class InteractivePhpScriptEngine
extends InvocablePhpScriptEngine

A convenience variant of the PHP script engine which can be used interactively.

Example:

ScriptEngine e = (new ScriptEngineManager()).getEngineByName("php-interactive);
e.eval("$v = 1+2");
System.out.println(e.eval("echo $v"));
e.eval((String)null);

Author:
jostb

Field Summary
 
Fields inherited from interface javax.script.ScriptEngine
ARGV, ENGINE, ENGINE_VERSION, FILENAME, LANGUAGE, LANGUAGE_VERSION, NAME
 
Constructor Summary
InteractivePhpScriptEngine(InteractivePhpScriptEngineFactory factory)
          Create the interactive php script engine.
 
Method Summary
 void close()
          Release the script engine.
 Bindings createBindings()
          Retrieves an uninitailized namespace which can be used as the scope of the ScriptEngine.
 java.lang.Object eval(java.io.Reader reader, ScriptContext context)
          Evaluates a script obtained using the specified reader as the script source and using the namespaces in the specifed ScriptContext.
 java.lang.Object eval(java.lang.String script, ScriptContext context)
          Evaluate a PHP line.
 ScriptEngineFactory getFactory()
          Retrieves a ScriptEngineFactory for the class to which describes the underlying ScriptEngine.
 void release()
          Release the continuation
 
Methods inherited from class php.java.script.InvocablePhpScriptEngine
getInterface, getInterface, invokeFunction, invokeMethod
 
Methods inherited from class javax.script.AbstractScriptEngine
eval, eval, eval, eval, get, getBindings, getContext, put, setBindings, setContext
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InteractivePhpScriptEngine

public InteractivePhpScriptEngine(InteractivePhpScriptEngineFactory factory)
Create the interactive php script engine.

Parameters:
factory - The engine factory
Method Detail

eval

public java.lang.Object eval(java.lang.String script,
                             ScriptContext context)
                      throws ScriptException
Evaluate a PHP line.

Specified by:
eval in interface ScriptEngine
Parameters:
script - The script line
context - The context
Returns:
The result
Throws:
ScriptException

release

public void release()
Release the continuation

Overrides:
release in class InvocablePhpScriptEngine

eval

public java.lang.Object eval(java.io.Reader reader,
                             ScriptContext context)
                      throws ScriptException
Description copied from interface: ScriptEngine
Evaluates a script obtained using the specified reader as the script source and using the namespaces in the specifed ScriptContext. Returns null for non-returning scripts

Parameters:
reader - the script source
context - the context contianing different namespace for script evaluation
Returns:
the value of the evaluated script
Throws:
ScriptException - if an error occurs

getFactory

public ScriptEngineFactory getFactory()
Description copied from interface: ScriptEngine
Retrieves a ScriptEngineFactory for the class to which describes the underlying ScriptEngine.

Returns:
an instance of ScriptEngineFactory which describes the underlying ScriptEngine

createBindings

public Bindings createBindings()
Retrieves an uninitailized namespace which can be used as the scope of the ScriptEngine.

Returns:
an initialzed namespace which can be used to repalce the state of the ScriptEngine

close

public void close()
           throws java.io.IOException
Release the script engine.

Throws:
java.io.IOException