class MyClass {
@Get
@Set
protected int aValue;
}
를 작성하는 방법을 고려하고, 자동으로 get_aValue()와 set_AValue() 클래스 메소드를 생성하고있다.
나는이 가능성을 발견했다.
1a) 컴파일 타임에. 주석 처리기를 사용하여 MyClass.java를 개별적으로 처리 한 다음 새로운 MyClass.java를 작성하고 마지막으로이 .java를 나머지 .java (대체)로 사용하십시오.
1b) 컴파일시. 어노테이션 프로세서를 사용하여 MyClassGenerated.java 파일을 생성하고 get/set 메소드를 사용하여 새로운 클래스를 원래 MyClass의 서브 클래스로 만듭니다.
2) 런타임시. java.lang.instrument와 외부 도구 (예 : BCEL)를 사용하여 MyClass.class에 새 코드를 만듭니다.
음, 질문 있습니다 : 가능한 한 내가
A) 나는 다른 접근 방식 실종 (롬복 프로젝트 나 BCEL처럼) 타사 라이브러리를 사용하지 않는 것을 고려?
b) 어떤 접근 방식을 사용합니까? 아마도 그것은 이름의 문제)
비록나는, 1B)를 (프로그램의 나머지는 대신 원래 MyClass에의 MyClassGeneradted 사용해야 깨끗하지
때문에 나는) (1A)를 사용합니다 같아요2)는 (적어도 나를 위해) 정말로 어렵습니다.
이렇게하지 마십시오. 결국 코드를 작성하는 데 필요한 모든 라이브러리가 서로의 발가락을 밟고 작업을 수행하는 것을 금지하게됩니다. Windows에서 GUI를 사용하면 수행해야 할 작업을 수행 할 수없는 경우와 매우 비슷합니다. –
접근 자 메소드의 올바른 이름은'getAValue'와'setAValue'입니다. – whiskeysierra