我正在使用java 6註釋處理api。我按照以下優良的教程創建要顯示在生成時消息註釋處理器:使用Java註釋 - 生成代碼
http://kerebus.com/2011/02/using-java-6-processors-in-eclipse/
然而,在我的情況下,我有一個簡單類作爲這樣:
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(value = ElementType.METHOD)
public @interface Criteria {
String id();
double width();
double height();
}
如您所見,上述註釋在運行時使用元註釋「保留」可供JVM使用。我使用另一個類的源代碼,這個「標準」進行註解的方法,像這樣:
@Criteria(id = "fooBar",
width = 22,
height = 10
)
public void fooStream() {
System.out.println("foo stream method");
}
在運行時,我想包括在另一大類「fooStream」的方法,只有當是變量傳入匹配@Criteria註釋中元素的值,即'width'和'height'。我的問題是,如何在運行時將方法'fooStream'注入到另一個類中?這甚至有可能嗎?我不在尋找任何代碼示例,只是回答了上述兩個問題。另外,在頂部的鏈接中,有一個使用'JavaFileObject'和'Writer'實例生成代碼的示例,其中生成的代碼作爲字符串傳遞。
你在問什麼,在運行時注入一個方法到另一個類中,而不是用java編程語言計算。 Java中沒有功能。你更想在JVM上創建你自己的新編程語言。 – Affe 2011-06-03 15:59:02
你能解釋一下你想解決什麼問題嗎?你會如何在一個不知道它的課程中使用外星人的方法? – 2011-06-03 16:13:56