pnuts.ext
Class ImplementationAdapter

java.lang.Object
  extended by pnuts.lang.Runtime
      extended by pnuts.lang.PnutsImpl
          extended by pnuts.ext.ImplementationAdapter
All Implemented Interfaces:
Executable, Implementation
Direct Known Subclasses:
SecurePnutsImpl

public class ImplementationAdapter
extends PnutsImpl

This class is used to customize an existing Implementation.


Nested Class Summary
 
Nested classes/interfaces inherited from class pnuts.lang.Runtime
Runtime.Accessor, Runtime.Break, Runtime.Continue, Runtime.FunctionSerializer, Runtime.TypeMap
 
Field Summary
 
Fields inherited from class pnuts.lang.PnutsImpl
properties
 
Fields inherited from class pnuts.lang.Runtime
BOOLEAN_SYMBOL, BYTE_SYMBOL, CHAR_SYMBOL, CLONE, DOUBLE_SYMBOL, EXCEPTOIN_FIELD_SYMBOL, FLOAT_SYMBOL, INT_SYMBOL, LONG_SYMBOL, SHORT_SYMBOL, VOID_SYMBOL
 
Constructor Summary
ImplementationAdapter(Implementation impl)
           
 
Method Summary
 java.lang.Object accept(SimpleNode node, Context context)
          Interpret an AST
 java.lang.Object eval(java.lang.String str, Context context)
          Evaluate an expreesion
 Implementation getBaseImpl()
          Returns the base Implementation which was passed to the constructor
 java.lang.Object load(java.lang.String file, Context context)
          Load a script file using classloader
 java.lang.Object load(java.net.URL scriptURL, Context context)
          Load a script file from a URL
 java.lang.Object loadFile(java.lang.String filename, Context context)
          Load a script file from local file system
 
Methods inherited from class pnuts.lang.PnutsImpl
getDefault, popFile, provide, pushFile, queryProperty, revoke, setProperties, setProperty
 
Methods inherited from class pnuts.lang.Runtime
_callConstructor, _callMethod, add, add, add1, add1, addImport, addStaticMembers, and, and, applyGenerator, arraydim, arrayType, call, call, callConstructor, callFunction, callMethod, cast, catchException, checkException, checkException, compareObjects, compareTo, compareTo, createList, createMap, defineTopLevelFunction, defineUnboundFunction, divide, divide, eq, eq, escape, exec, execute, fileToURL, findCallableMethod, format, format, ge, ge, getArrayLength, getBeanProperty, getBeanProperty, getBeanProperty, getBeanPropertyType, getBeginColumn, getBeginLine, getBottomType, getCompiledScript, getConstructors, getElement, getElementAt, getEndLine, getField, getField, getFunction, getFunction, getFunctions, getMessage, getMethods, getProperty, getRange, getRuntime, getScriptReader, getScriptSource, getScriptURL, getStaticField, getThreadContext, gt, gt, isArray, isGenerator, jump, le, le, loadNode, lt, lt, makeArray, matchType, mod, mod, multiply, multiply, ne, ne, negate, negate, newInstance, not, not, or, or, parseChar, parseFloat, parseInt, parseString, primitive, printError, putField, putStaticField, quantity, replaceChar, run, saveNode, setBeanProperty, setBeanProperty, setBeanProperty, setElement, setExitHook, setLine, setLine, setPackage, setRange, setThreadContext, shiftArithmetic, shiftArithmetic, shiftLeft, shiftLeft, shiftRight, shiftRight, subtract, subtract, subtract1, subtract1, throwException, toBoolean, toEnumeration, transform, transform, unparse, xor, xor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ImplementationAdapter

public ImplementationAdapter(Implementation impl)
Method Detail

getBaseImpl

public Implementation getBaseImpl()
Returns the base Implementation which was passed to the constructor

Returns:
the base Implementation object.

eval

public java.lang.Object eval(java.lang.String str,
                             Context context)
Evaluate an expreesion

Specified by:
eval in interface Implementation
Overrides:
eval in class PnutsImpl
Parameters:
str - the expression to be evaluated
context - the context in which the expression is evaluated
Returns:
the result of the evaluation

loadFile

public java.lang.Object loadFile(java.lang.String filename,
                                 Context context)
                          throws java.io.FileNotFoundException
Load a script file from local file system

Specified by:
loadFile in interface Implementation
Overrides:
loadFile in class PnutsImpl
Parameters:
filename - the file name of the script
context - the context in which the expression is evaluated
Returns:
the result of the evaluation
Throws:
java.io.FileNotFoundException

load

public java.lang.Object load(java.lang.String file,
                             Context context)
                      throws java.io.FileNotFoundException
Load a script file using classloader

Specified by:
load in interface Implementation
Overrides:
load in class PnutsImpl
Parameters:
file - the name of the script
context - the context in which the script is executed
Returns:
the result of the evaluation
Throws:
java.io.FileNotFoundException

load

public java.lang.Object load(java.net.URL scriptURL,
                             Context context)
Load a script file from a URL

Specified by:
load in interface Implementation
Overrides:
load in class PnutsImpl
Parameters:
scriptURL - the URL of the script
context - the context in which the script is executed
Returns:
the result of the evaluation

accept

public java.lang.Object accept(SimpleNode node,
                               Context context)
Description copied from interface: Implementation
Interpret an AST

Specified by:
accept in interface Implementation
Overrides:
accept in class PnutsImpl
Parameters:
node - the AST
context - the context in which the AST is interpreted