2014-03-28 8 views
0

내 프로그램의 구문 분석 된 모델에 어떻게 액세스 할 수 있는지 알고 싶습니다. xtend에 유효성 확인 체크가 있습니다.이 체크는 매개 변수로 A을 수락합니다. 그러나 나는 전체 구문 분석 된 트리를 검색하고이 특정 인스턴스 A에 대한 다른 참조가 특정 사양을 따르는 지 확인해야합니다.Xtend 유효성 검사기에서 구문 분석 된 모델 사용

@Check 
    def checkActionBelongsToAssociatedRole(ActionDsc act){ 
     var pRole = act.parentRole 
     var rs = new ResourceSetImpl() 
//DONT KNOW IF THIS IS RIGHT 
     var resource = rs.getResource(URI.createURI("./model/generated/Protocol.ecore"), true) 
     for(r:resource.allContents.toIterable.filter(typeof(RoleDec))){ 
      if(r.name == pRole.name){ 
       //DO SOMETHING 
      } 
     } 
    } 

내가 가진 생성기 파일에는 이미 Resource 개체가 매개 변수로 제공됩니다.

override void doGenerate(Resource resource, IFileSystemAccess fsa) { 
     //Generate code 
    } 

유효성 검사기에서 어떻게 동일한 작업을 수행 할 수 있습니까? 미리 감사드립니다.

답변

1

act.eResource()은 작업이 포함 된 리소스에 액세스 할 수 있습니다.