Я никогда не писал аннотации на Java.
У меня есть простой класс Java для измерения производительности.Я называю это PerfLog.Вот пример его использования:
public class MyClassToTest {
public String MyMethod() {
PerfLog p = new PerfLog("MyClassToTest", "MyMethod");
try {
// All the code that I want to time.
return whatever;
} finally {
p.stop();
}
}
}
Когда вызывается p.stop (), в файл журнала записывается строка:
2010/10/29T14:30:00.00 MyClassToTest MyMethod elapsed time: 00:00:00.0105
Можно ли переписать PerfLog какАннотация, чтобы я мог написать это вместо этого?
public class MyClassToTest {
@PerfLog
public String MyMethod() {
// All the code I want to time.
return whatever;
}
}
Казалось бы, это хороший кандидат для аннотирования: аннотацию легко добавить или убрать;производственная сборка может полностью исключить PerfLog без необходимости удалять аннотации из исходного кода;процессор аннотаций может получить имена классов и методов.
Это легко сделать?Есть ли какой-нибудь рецепт, которому я могу следовать?
Это должна быть Java 5, поэтому я знаю, что должен где-то использовать apt.