我正在寻找一种方法来拦截从 JavaScript(Rhino/Java)到任何和所有 Java 对象(Java 方法)的所有方法调用。
我想要:
- 计算它们(按方法名称和参数)
- 如果不允许该方法,则能够抛出异常
Rhino-Engine 内部有办法解决这个问题吗?
我知道还有其他选项,例如面向方面的编程库,但我想避免这些。
我也尝试替换NativeJavaMethod
Rhino 引擎中的实现,但它与系统绑定得很深,无法替换。
如果只有一个工厂(比如 ContextFactory),那就太好了。
或类似的方法调用拦截器ContextFactory.doTopCall(...)
,但适用于所有 JS-2-Java 调用。