public class SecurePnutsImpl extends ImplementationAdapter
e.g. context.setImplementation(new SecurePnutsImpl(new CompilerPnutsImpl(), codesource))
Runtime.Accessor, Runtime.Break, Runtime.Continue, Runtime.FunctionSerializer, Runtime.TypeMap
properties
BOOLEAN_SYMBOL, BYTE_SYMBOL, CHAR_SYMBOL, CLONE, DOUBLE_SYMBOL, EXCEPTOIN_FIELD_SYMBOL, FLOAT_SYMBOL, INT_SYMBOL, LONG_SYMBOL, SHORT_SYMBOL, VOID_SYMBOL
Constructor and Description |
---|
SecurePnutsImpl(Implementation impl)
A Constructor
|
SecurePnutsImpl(Implementation impl,
java.security.CodeSource codeSource)
A Constructor
|
SecurePnutsImpl(PnutsImpl impl)
Deprecated.
replaced by SecurePnutsImpl(Implementation)
|
SecurePnutsImpl(PnutsImpl impl,
java.security.CodeSource codeSource)
Deprecated.
replaced by SecurePnutsImpl(Implementation, CodeSource)
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
accept(SimpleNode node,
Context context)
Evaluate a parsed script
|
protected void |
addSandBoxPermissions(java.net.URL codebase,
java.security.PermissionCollection perms)
Add Applet sand-box permissions to the specified PermissionCollection.
|
java.lang.Object |
eval(java.lang.String expr,
Context context)
Evaluate an expreesion
|
protected java.security.PermissionCollection |
getPermissions(java.security.CodeSource codesource)
Returns permissions from policy file, plus Applet's sand-box permissions.
|
protected java.security.PermissionCollection |
getPolicyPermissions(java.security.CodeSource codesource)
Gets permission declared in the policy file
|
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
|
java.lang.String |
toString() |
getBaseImpl
getDefault, popFile, provide, pushFile, queryProperty, revoke, setProperties, setProperty
_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
public SecurePnutsImpl(PnutsImpl impl)
impl
- a PnutsImpl objectpublic SecurePnutsImpl(Implementation impl)
impl
- a PnutsImpl objectpublic SecurePnutsImpl(PnutsImpl impl, java.security.CodeSource codeSource)
impl
- the base implementationcodeSource
- a CodeSource object which indicates the source of the expression
execute by eval(String, Context).public SecurePnutsImpl(Implementation impl, java.security.CodeSource codeSource)
impl
- the base implementationcodeSource
- a CodeSource object which indicates the source of the expression
execute by eval(String, Context).public java.lang.Object eval(java.lang.String expr, Context context)
eval
in interface Implementation
eval
in class ImplementationAdapter
expr
- the expression to be evaluatedcontext
- the context in which the expression is evaluatedpublic java.lang.Object accept(SimpleNode node, Context context)
accept
in interface Implementation
accept
in class ImplementationAdapter
node
- the parsed scriptcontext
- the context in which the script is evaluatedpublic java.lang.Object load(java.lang.String file, Context context) throws java.io.FileNotFoundException
load
in interface Implementation
load
in class ImplementationAdapter
file
- the name of the scriptcontext
- the context in which the script is executedjava.io.FileNotFoundException
public java.lang.Object loadFile(java.lang.String filename, Context context) throws java.io.FileNotFoundException
loadFile
in interface Implementation
loadFile
in class ImplementationAdapter
filename
- the file name of the scriptcontext
- the context in which the expression is evaluatedjava.io.FileNotFoundException
public java.lang.Object load(java.net.URL scriptURL, Context context)
load
in interface Implementation
load
in class ImplementationAdapter
scriptURL
- the URL of the scriptcontext
- the context in which the script is executedprotected java.security.PermissionCollection getPolicyPermissions(java.security.CodeSource codesource)
codesource
- the CodeSource of the scriptprotected void addSandBoxPermissions(java.net.URL codebase, java.security.PermissionCollection perms)
codebase
- the codebase of the scriptperms
- the base PermissionCollectionprotected java.security.PermissionCollection getPermissions(java.security.CodeSource codesource)
codesource
- the CodeSource of the scriptpublic java.lang.String toString()
toString
in class java.lang.Object