Obecnie używam Roaster do generowania interfejsów, ale mój interfejs ma przypisane typowe typy.Korzystając z Roastera, w jaki sposób mogę wygenerować interfejs z określonym typem generycznym (lub typami)?
Oto, co starałem się generować je zacząć:
String entityName = "SimpleEntity";
JavaInterfaceSource repository = Roaster.create(JavaInterfaceSource.class)
.setName(entityName + "Repository");
JavaInterfaceSource jpaInterface = repository.addInterface(JpaRepository.class);
jpaInterface.addTypeVariable(entityName);
jpaInterface.addTypeVariable("String");
ale powyższe wyniki w wygenerowanego kodu, który wygląda (coś) jak poniżej:
public interface SimpleEntityRepository<SimpleEntity>
extends
org.springframework.data.jpa.repository.JpaRepository {
}
Co ja właściwie chcę to dla generycznego, który ma być powiązany z JpaRepository
. Jak to zrobić?
Makoto, jak na swojej dobroci, patrząc na kod wygląda najlepiej łatwo dostępnego rozwiązania. Jedyną inną metodą jest użycie metody 'addInterface (JavaInterface >)' ale ['JavaInterface'] (http://javadox.com/org.jboss.forge.roaster/roaster-api/2.18.1.Final/org /jboss/forge/roaster/model/JavaInterface.html) nie obsługuje określania podstawień dla parametrów ogólnych: nie jest obsługiwany przez ['TypeVariableSource'] (http://javadox.com/org.jboss.forge.roaster /roaster-api/2.18.1.Final/org/jboss/forge/roaster/model/source/TypeVariableSource.html). – SergGr