0
Я к новому в Xtext. Мне нужно расширить интерфейс с помощью интерфейса. Мне нужно что-то вроде этого:Xtend: расширение интерфейса с интерфейсом
import org.springframework.data.jpa.repository.JpaRepository;
@Repository
public interface PHRRepository extends
JpaRepository<PlantHireRequest, Long> {
}
Моя грамматика:
Repository:
'repo' name=ValidID ':' type=JvmTypeReference
body=XBlockExpression;
Мой JVMinferrer код:
@Inject
private TypesFactory typesFactory;
@Inject
private TypeReferences references;
public static String REPOSITORY = "org.springframework.stereotype.Repository";
public static String JPAREPOSITORY = "org.springframework.data.jpa.repository.JpaRepository";
//repositories
def dispatch void infer(Repository repo,
IJvmDeclaredTypeAcceptor acceptor,
boolean isPrelinkingPhase) {
acceptor.accept(repo.toInterface(repo.name, null)) [
documentation = repo.documentation
annotations += annotationRef(REPOSITORY);
superTypes += JPAREPOSITORY.typeRef(repo.type.cloneWithProxies,Long.typeRef);
]
}
, который дает это:
@Repository
public interface PHRRepository {
}
Может кто-нибудь помочь мне в это?
Спасибо за ваш reply.But мне нужно продлить «JpaRepository». Меня поразили. Я обновил свой вопрос. –
добавил намеки на мой ответ –
Спасибо. Обновление вашего ответа расширило JpaRepository. Но не аргументы «». Я снова обновил свой вопрос. Кроме того, внутри папки не создавались интерфейсы. Он генерируется внутри root. Как создать генерировать внутри папки. –