@Override
public PersistentEObject apply(Id id) {
PersistentEObject object;
if(isNull(eClass)) {
/*
* Use the embedded vertex to compute the eClass instead of the id to avoid
* a backend query to retrieve the vertex
*/
eClass = BlueprintsPersistenceBackend.this.resolveInstanceOf(vertex);
}
if (nonNull(eClass)) {
EObject eObject;
if (Objects.equals(eClass.getEPackage().getClass(), EPackageImpl.class)) {
// Dynamic EMF
eObject = PersistenceFactory.getInstance().create(eClass);
}
else {
eObject = EcoreUtil.create(eClass);
}
object = PersistentEObject.from(eObject);
object.id(id);
object.setMapped(true);
}
else {
throw new RuntimeException("Element " + id + " does not have an associated EClass");
}
return object;
}
BlueprintsPersistenceBackend.java 文件源码
java
阅读 26
收藏 0
点赞 0
评论 0
项目:NeoEMF
作者:
评论列表
文章目录