2

JavaPoet을 사용하여 다른 클래스를 확장하는 클래스를 생성하려고합니다. 예를 들어JavaPoet을 사용하여 수퍼 클래스 생성자를 호출하는 생성자 생성 방법

나는이 수업이 있습니다

@MyAnnotation 
public class ClassA { 
    public ClassA(String paramA, int paramB) { 
    // some code 
    } 
} 

을 나는 이와 같은 새로운 클래스를 생성하려면 : 그러나

public class Generated_ClassA extends ClassA { 
    public Generated_ClassA (String paramA, int paramB) { 
    super(paramA, paramB); 
    } 
} 

을, 나는 어떤 즉시 사용 가능한 API가 표시되지 않습니다 JavaPoet에서 슈퍼 클래스 생성자를 호출하는 생성자를 만듭니다. 이것이 가능한 방법과 모범 사례는 무엇입니까?

답변

1

당신은 또한 또한 MethodSpec.Builder#addCode를 사용하고 CodeBlock.Builder#addStatement를 사용하여 동일한 코드를 구축 할 수 있습니다 MethodSpec.Builder#addStatement

MethodSpec.constructorBuilder() 
      .addModifiers(Modifier.PUBLIC) 
      .addParameter(String.class, "paramA") 
      .addParameter(Integer.TYPE, "paramB") 
      .addStatement("super(paramA, paramB)") 
      .build(); 

사용하여 작업을 수행 할 수 있지만, 불행하게도 는 AFAIKsuper를 호출에 사용할 수있는 특정 업체가 없다.