2012-12-05 1 views
2

새로운 EObject을 만들고 싶지만, 기본적으로 생성자는 보호되어 있습니다. 이를 극복하고 EObject의 새 인스턴스를 만들 수있는 방법이 있습니까?xtext - 새 EObject 만들기

답변

4

EMF는 공장 패턴을 사용합니다. EcoreFactory.eInstance.createEObject()을 사용해보십시오.

EObject를 구현하는 다른 객체를 인스턴스화하려면 사용자 고유의 EPackage에 대해 해당 팩토리를 사용해야합니다. 코드는 MyPackFactory.eInstance.createObject()이어야하며 MyPackFactory은 콘크리트 팩토리로 대체해야하고 createObject()은 인스턴스화하려는 유형으로 바꿔야합니다. 예 : createObjectValue()

+0

그레이트 !!! 대단히 감사합니다! –

+0

나는 xtext에서 ObjectValue와 같은 EObject를 구현하는 객체를 생성하면서이 것과 관련된 또 다른 질문을 가지고있다. 새로운 ObjectValue를 생성 할 수 있습니까? 코드 : ObjectValue value = (ObjectValue) EcoreFactory.eINSTANCE.createEObject(); 이 전송하지 못했습니다. 대단히 감사합니다! –

+0

답변을 편집하고 유스 케이스에 대한 정보를 추가했습니다. –