편의상 여러 클래스에 병합하려는 정적 메서드가 새 클래스로 생성되었습니다.주석 처리 및 javapoet을 사용하여 정적 메서드를 병합
저는 주석 처리 및 javapoet을 사용하고 있습니다.
내 문제 : 주석 처리에서 정적 메서드를 ExecutableElements 목록으로 가져옵니다.
JavaPoet의 경우 해당 메소드의 MethodSpec을 만들어야합니다. 나는 노력하고있다 :
public MethodSpec apply(@Nullable ExecutableElement input) {
TypeMirror returnType = input.getReturnType();
return MethodSpec.methodBuilder(THE_METHOD_NAME)
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.returns(THE_RETURN_TYPE)
.addParameter(EVERY_PARAMETER_WITH_TYPE_AND_NAME)
.addStatement("$T.$S($S)", THE_ENCLOSING_CLASS, THE_METHOD_NAME, THE_PARAMETERS)
.build();
}
내 질문 : 어떻게 CAPS에 누락 된 단어에 대한 값을 얻을 수 있습니까? ExecutableElements가 리플렉션 API처럼 작동하지 않는 것 같습니다.
감사합니다. 그러나 위의 코드에서 보듯이 getReturnType은 "TypeMirror"유형입니다 ... javapoet에 전달하면 TypeMirror가 반환됩니다. –
'com.squareup.javapoet.ClassName'을 사용하여 빌드 할 수 있습니다. 've.asType()'의 출력의 캐릭터 라인 표현으로부터의 형태를 설정합니다. 필자는 [javapoet] (https://github.com/square/javapoet)에서 가져온 샘플 코드를 기반으로 글을 작성할 때이를 가정했습니다. –