Java에서 EMF 프레임 워크를 사용하는 일부 코드로 작업하고 있지만 실제로 사용하기가 어렵습니다. 형식 안전 형 EMF 위에 OCL과 유사한 쿼리 API를 구현할 수 없습니다.EMF의 eGet이 EObject가 아닌 Object를 반환하는 이유는 무엇입니까?
EStructuralFeature
의 경우 eGet()
은 EObject
이 아니라 단지 Object
을 반환합니다. 그래서 내가 쓰는 것은 아무것도 안전하지 않고, 성능이없고 재사용 가능한 방식으로 일반화 될 수없는 널 검사, 유형 검사 및 유형 캐스팅을 많이 사용해야합니다.
EMF가 임의의 Object
값에 대해 EObject
래퍼로 더미 구현을 생성하지 않는 이유는 무엇입니까?
간단한 던짐 UnsupportedOperationException
으로도 EObject
인터페이스와 따라서 EClass
인터페이스를 구현하는 것은 정말 고통 스럽습니다 (API가 너무 큽니다). 모델을 위쪽으로 힘들이지 않게 만드는 eContainer()
방법에 대해서도 마찬가지입니다.
EMF는 자바의 원시 타입과 그 객체에 상응하는 래퍼를 가지고 있다는 것을 깨달았지만, 여전히 객체를 반환하는 API가 남아 있습니까? –