如何更改 InternalEObject 的 URI
How to change the URI of an InternalEObject
我想更改 InternalEObject 的 URI。
我知道我可以通过调用获取 URI:
EcoreUtil.getURI(internalEObject);
更改相关 internalEObject 的 URI 的正确过程是什么?不仅仅是获取字符串。创建一个新的相同的 InternalEObject 并给它一个新的 URI?
解决了。
可以使用 EcoreUtil 中的实用函数,它是 EMF 的一部分。
以下代码片段完成了这项工作:
for (InternalEObject def: defs) {
URI uri = EcoreUtil.getURI(def);
def.eSetProxyURI(URI.createURI(uri.toString().replaceAll(STRING_CONSTANT1, STRING_CONSTANT2)));
}
我想更改 InternalEObject 的 URI。
我知道我可以通过调用获取 URI:
EcoreUtil.getURI(internalEObject);
更改相关 internalEObject 的 URI 的正确过程是什么?不仅仅是获取字符串。创建一个新的相同的 InternalEObject 并给它一个新的 URI?
解决了。
可以使用 EcoreUtil 中的实用函数,它是 EMF 的一部分。
以下代码片段完成了这项工作:
for (InternalEObject def: defs) {
URI uri = EcoreUtil.getURI(def);
def.eSetProxyURI(URI.createURI(uri.toString().replaceAll(STRING_CONSTANT1, STRING_CONSTANT2)));
}