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