2012-08-06 1 views
3

Xtext를 통해 DSL을 만들었으므로 이제 편집기에서 만든 모델을 다른 모델로 변환해야합니다. 가장 직접적인 방법은 일종의 M2M 변환 프레임 워크를 사용하는 것이지만 텍스트 파일 뒤에있는 모델에 액세스해야한다고 가정합니다. 질문 : 모델에 대한 참조를 얻으려면 어떻게해야합니까?Xtext의 런타임 EMF 모델에 액세스

답변

1

Xtext로 만든 모델에는 리소스 팩토리도 있습니다. 텍스트 파일을 EMF 모델로로드하려고하면 EMF는 텍스트 파일의 확장에 사용할 수있는 자원 팩토리를 찾습니다. 거기에서 Xtext는 EMF 모델의 텍스트 파일을 변환하고 생성 된 EMF 모델을 제공합니다. 텍스트 파일을 마우스 오른쪽 버튼으로 클릭하고 "open with"및 "sample reflective ecore model editor"를 선택하여이 메커니즘을 실제로 볼 수 있습니다. 따라서 다음과 같이 작동해야합니다.

ResourceSet rs = new ResourceSetImpl(); 
Resource r = rs.getResource(uriOfYourTextualFile, true); 
List<EObject> contentOfYourFile = r.getContents();