在EMF中使用eStorage

时间:2015-05-04 08:39:13

标签: java eclipse-emf emf

在我的EObject我有字段eStorage,其中包含我想要使用的数据。

是否有可能读出eStorage?

我尝试了下面的代码,但它不起作用:

doIt(EObject object) {
    object.getEStorage;
    // use the eStorage...
}

1 个答案:

答案 0 :(得分:1)

有可能eStorage是私人领域。

所以,

  • 重新读取EObject接口的javadoc和/或您正在使用的EObject的特定实现的javadoc。您可能会找到一种方法来提供您正在寻找的数据。
  • 通过Reflection访问私有字段
try {
    Field f = object.getClass().getDeclaredField("eStorage"); 
    f.setAccessible(true);
    Object theDataYouWant = f.get(object);
} catch(Exception e) {
    // Handle exception here...
}

参考文献:How do I read a private field in Java?