Xtext和Xtend:文件夹内的接口

时间:2016-02-08 10:17:47

标签: jvm xtext xtend

我看到这些类是在单独的文件夹/包中生成的。但是接口文件是在根文件夹中生成的,而不是在特定包内生成。

以下是JVM Inferrer的代码:

   def dispatch void infer(Repository repo, 
                IJvmDeclaredTypeAcceptor acceptor, 
                boolean isPrelinkingPhase) {   
      acceptor.accept(repo.toInterface(repo.name, [])) [      
          documentation = repo.documentation
          annotations += annotationRef(REPOSITORY);
          superTypes += JPAREPOSITORY.typeRef(repo.type.cloneWithProxies,Long.typeRef); 
    ]
  }

以下是模型:

import dsltest.models.Plant
import dsltest.models.Customer

package dsltest.repositories {

 repo PlantRepository : Plant {}
 repo CustomerRepository : Customer {}
}

以下是生成的文件:

screen shot of src-gen

如何在dsltest->内部生成接口资源库 - > CustomerRepository.java

1 个答案:

答案 0 :(得分:0)

toInterface方法的第一个参数应该是qualifiedName,例如

accept(entity.toInterface(entity.fullyQualifiedName,[]))[
...
]

accept(entity.toInterface(EcoreUtil2.getContainerOfType(entity,  Package).name+"."+entity.name,[]))[
...
]