本文整理汇总了Java中org.mozilla.javascript.serialize.ScriptableInputStream类的典型用法代码示例。如果您正苦于以下问题:Java ScriptableInputStream类的具体用法?Java ScriptableInputStream怎么用?Java ScriptableInputStream使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ScriptableInputStream类属于org.mozilla.javascript.serialize包,在下文中一共展示了ScriptableInputStream类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: testSerializationWithContinuations
import org.mozilla.javascript.serialize.ScriptableInputStream; //导入依赖的package包/类
public void testSerializationWithContinuations()
throws IOException, ClassNotFoundException
{
Context cx = Context.enter();
try {
cx.setOptimizationLevel(-1); // must use interpreter mode
cx.evaluateString(globalScope,
"function f(a) { var k = myObject.f(a); var t = []; return k; }",
"function test source", 1, null);
Function f = (Function) globalScope.get("f", globalScope);
Object[] args = { 7 };
cx.callFunctionWithContinuations(f, globalScope, args);
fail("Should throw ContinuationPending");
} catch (ContinuationPending pending) {
// serialize
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ScriptableOutputStream sos = new ScriptableOutputStream(baos, globalScope);
sos.writeObject(globalScope);
sos.writeObject(pending.getContinuation());
sos.close();
baos.close();
byte[] serializedData = baos.toByteArray();
// deserialize
ByteArrayInputStream bais = new ByteArrayInputStream(serializedData);
ScriptableInputStream sis = new ScriptableInputStream(bais, globalScope);
globalScope = (Scriptable) sis.readObject();
Object continuation = sis.readObject();
sis.close();
bais.close();
Object result = cx.resumeContinuation(continuation, globalScope, 8);
assertEquals(8, ((Number)result).intValue());
} finally {
Context.exit();
}
}
开发者ID:F43nd1r,项目名称:rhino-android,代码行数:38,代码来源:ContinuationsApiTest.java
示例2: testContinuationsInlineFunctionsSerialization
import org.mozilla.javascript.serialize.ScriptableInputStream; //导入依赖的package包/类
public void testContinuationsInlineFunctionsSerialization() throws IOException, ClassNotFoundException {
Scriptable globalScope;
Context cx = Context.enter();
try {
globalScope = cx.initStandardObjects();
cx.setOptimizationLevel(-1); // must use interpreter mode
globalScope.put("myObject", globalScope, Context.javaToJS(new MyClass(), globalScope));
} finally {
Context.exit();
}
cx = Context.enter();
try {
cx.setOptimizationLevel(-1); // must use interpreter mode
cx.evaluateString(globalScope, "function f(a) { var k = eval(myObject.h()); var t = []; return k; }",
"function test source", 1, null);
Function f = (Function) globalScope.get("f", globalScope);
Object[] args = { 7 };
cx.callFunctionWithContinuations(f, globalScope, args);
fail("Should throw ContinuationPending");
} catch (ContinuationPending pending) {
// serialize
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ScriptableOutputStream sos = new ScriptableOutputStream(baos, globalScope);
sos.writeObject(globalScope);
sos.writeObject(pending.getContinuation());
sos.close();
baos.close();
byte[] serializedData = baos.toByteArray();
// deserialize
ByteArrayInputStream bais = new ByteArrayInputStream(serializedData);
ScriptableInputStream sis = new ScriptableInputStream(bais, globalScope);
globalScope = (Scriptable) sis.readObject();
Object continuation = sis.readObject();
sis.close();
bais.close();
Object result = cx.resumeContinuation(continuation, globalScope, "2+3");
assertEquals(5, ((Number) result).intValue());
} finally {
Context.exit();
}
}
开发者ID:F43nd1r,项目名称:rhino-android,代码行数:46,代码来源:ContinuationsApiTest.java
注:本文中的org.mozilla.javascript.serialize.ScriptableInputStream类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论