Используя Javapoet, как реализовать следующее:
класс A расширяет класс B
класс C реализует интерфейс D
В javadoc упоминается, как создавать интерфейсы.
Используя Javapoet, как реализовать следующее:
класс A расширяет класс B
класс C реализует интерфейс D
В javadoc упоминается, как создавать интерфейсы.
Используйте TypeSpec.Builder.superclass()
для расширений и TypeSpec.Builder.addSuperinterface()
для навесного оборудования.
Предположим, вы хотите создать класс Dummy
, который расширяет класс Exception
и реализует интерфейс Serializable
. Генерируемый код:
...
TypeSpec typeSpec = TypeSpec.classBuilder("Dummy")
.addSuperinterface(Serializable.class)
.superclass(Exception.class)
.build();
JavaFile javaFile = JavaFile.builder("sample.javapoet", typeSpec).build();
...
И сгенерированный код будет:
package sample.javapoet;
import java.io.Serializable;
import java.lang.Exception;
class Hoge extends Exception implements Serializable {
}