2010년 2월 25일 목요일

JDT를 이용하여 java 파일에 메소드 추가하기

Eclipse 에는 Java -> Editor -> Templates에 코드 템플릿을 등록해 두고 Ctrl+Space를 누르면 소스 코드가 생성되는 마법을 부리기도 하지만, 어떤 경우에는 반복적으로 단순 코드를 붙혀 넣어야 하는 개발자 운명에 처하기도 한다.
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

댓글 없음:

댓글 쓰기