Velocity를 이용해서 자동 생성하는 프로그램도 개발하기도 하지만 JDT라는 멋진 도구를 이용해서 간단한 (?) 플러그인을 개발하면 이런 운명을 피해갈 수도 있다.
아래의 코드 샘플은 인터페이스와 구현 클래스에 메서드를 추가시키는 샘플코드다.
JDT의 AST를 이용하면 좀더 세세하게 메소드의 내부까지 제어할 수 있지만 메서드에 내용을 문자열로 만들어 낼 수만 있다면 아래와 같이 사용할 수도 있다.
메서드를 생성하는 부분은 별도의 dialog로 구현했기 때문에
int getSample()
라는 메서드를 인터페이스에 추가한다고 가정한 코드이다.아래와 같이 작성하면 java 파일의 가장 마지막으로 메서드가 추가된다.
if(interfaceName.length() > 0) {
IType interfaceType = ProjectHelper.getJavaType(javaProject, interfaceName);
interfaceType.createMethod("int getSample();", null, true, monitor);
}
boolean override = interfaceName.length() > 0;
IType beanType = ProjectHelper.getJavaType(javaProject, bean.getBeanClass());
beanType.createMethod("@Override\n public int getSample() { return 0; }", null, true, monitor);
Resources:
http://www.vogella.de/articles/EclipseJDT/article.html
댓글 없음:
댓글 쓰기