更新到 rhino-1.7.14-1
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
/*
|
||||
* Decompiled with CFR 0.152.
|
||||
*/
|
||||
package com.script;
|
||||
|
||||
import java.io.Reader;
|
||||
|
||||
public abstract class AbstractScriptEngine
|
||||
implements ScriptEngine {
|
||||
protected ScriptContext context = new SimpleScriptContext();
|
||||
|
||||
public AbstractScriptEngine() {
|
||||
}
|
||||
|
||||
public AbstractScriptEngine(Bindings n) {
|
||||
this();
|
||||
if (n == null) {
|
||||
throw new NullPointerException("n is null");
|
||||
}
|
||||
this.context.setBindings(n, 100);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setContext(ScriptContext ctxt) {
|
||||
if (ctxt == null) {
|
||||
throw new NullPointerException("null context");
|
||||
}
|
||||
this.context = ctxt;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScriptContext getContext() {
|
||||
return this.context;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Bindings getBindings(int scope) {
|
||||
if (scope == 200) {
|
||||
return this.context.getBindings(200);
|
||||
}
|
||||
if (scope == 100) {
|
||||
return this.context.getBindings(100);
|
||||
}
|
||||
throw new IllegalArgumentException("Invalid scope value.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBindings(Bindings bindings, int scope) {
|
||||
if (scope == 200) {
|
||||
this.context.setBindings(bindings, 200);
|
||||
} else if (scope == 100) {
|
||||
this.context.setBindings(bindings, 100);
|
||||
} else {
|
||||
throw new IllegalArgumentException("Invalid scope value.");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void put(String key, Object value) {
|
||||
Bindings nn = this.getBindings(100);
|
||||
if (nn != null) {
|
||||
nn.put(key, value);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object get(String key) {
|
||||
Bindings nn = this.getBindings(100);
|
||||
if (nn != null) {
|
||||
return nn.get(key);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object eval(Reader reader, Bindings bindings) throws ScriptException {
|
||||
return this.eval(reader, this.getScriptContext(bindings));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object eval(String script, Bindings bindings) throws ScriptException {
|
||||
return this.eval(script, this.getScriptContext(bindings));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object eval(Reader reader) throws ScriptException {
|
||||
return this.eval(reader, this.context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object eval(String script) throws ScriptException {
|
||||
return this.eval(script, this.context);
|
||||
}
|
||||
|
||||
protected ScriptContext getScriptContext(Bindings nn) {
|
||||
SimpleScriptContext ctxt = new SimpleScriptContext();
|
||||
Bindings gs = this.getBindings(200);
|
||||
if (gs != null) {
|
||||
ctxt.setBindings(gs, 200);
|
||||
}
|
||||
if (nn != null) {
|
||||
ctxt.setBindings(nn, 100);
|
||||
ctxt.setReader(this.context.getReader());
|
||||
ctxt.setWriter(this.context.getWriter());
|
||||
ctxt.setErrorWriter(this.context.getErrorWriter());
|
||||
return ctxt;
|
||||
}
|
||||
throw new NullPointerException("Engine scope Bindings may not be null.");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user