Mozilla Rhino: Diferentes formas de agregar objeto Java que alcance
-
21-09-2019 - |
Pregunta
Tengo este pedazo de código Java embebido con Rhino (bits irrelevantes omitidas):
Context cx = Context.enter();
Scriptable scope = cx.initStandardObjects();
scope.put("foo", scope, Context.toObject(foo, scope));
ScriptableObject.putProperty(scope, "bar", Context.javaToJS(bar, scope));
donde foo
extiende ScriptableObject
y bar
es sólo un POJO sin un padre.
¿Existe, en este caso particular, se añaden ninguna diferencia entre la forma y foo
bar
, o es el resultado de la misma?
He intentado documentación de consultoría, pero no pude encontrar ninguna respuesta. Eventualmente Acabo de mirar el código fuente ( rhino1_7R1 versión) y mi suposición es que en realidad no importa en ese escenario. O lo hace?
Solución
Creo que estás en lo correcto. Creo que he estado en la misma expedición de lectura de códigos como usted y llegué a la misma conclusión. Los objetos de nivel superior del alcance son lo mismo que las propiedades del ámbito de aplicación.