3

对于 GWT 中的一些自定义客户端-服务器-通信代码,我想动态实现一个 Java 接口,类似于使用 java.lang.reflect.Proxy 完成的方式。由于 GWT 不包含任何反射支持,而且我讨厌编写笨重的代码生成器,我想知道这是否可以使用 JSNI 和 Overlay 类型来完成。

我正在考虑以下几点:

  1. 我有一些现有的 java 接口,以及它的方法及其签名、注释等的表示形式(因为实际的类对象在 GWT 中没有任何帮助)。
  2. 我将该表示传递给一些 JSNI 方法,该方法使用它来构造一个新的 Javascript 对象并在其上定义相应的方法。这些方法的实际实现相当简单,它们只是将参数写入一些数据结构并返回 null。
  3. 我从 JSNI 得到一个 Javascript 对象,它以某种方式可以转换为接口类型。在此实例上调用接口中的方法时,将调用步骤 2 中定义的相应 Javascript 方法并保存参数。

有没有人尝试过类似的事情?为什么这在原则上不起作用?

提前致谢。

4

1 回答 1

0

是什么阻止你在 Java 中做同样的事情?有一个工厂方法,你可以将一些数据传递给它,它会返回你的接口的实现。由于您说实现非常简单,因此您将拥有一组有限的具体类。

于 2011-06-27T18:05:59.793 回答