我看到这些类是在单独的文件夹/包中生成的。但是接口文件是在根文件夹中生成的,而不是在特定包内生成。
以下是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 {}
}
以下是生成的文件:
如何在dsltest->内部生成接口资源库 - > CustomerRepository.java
答案 0 :(得分:0)
toInterface方法的第一个参数应该是qualifiedName,例如
accept(entity.toInterface(entity.fullyQualifiedName,[]))[
...
]
或
accept(entity.toInterface(EcoreUtil2.getContainerOfType(entity, Package).name+"."+entity.name,[]))[
...
]