2010-04-21 20 views
3

我有一個代碼庫,開發人員在他們的類定義上使用@author註釋。有沒有辦法讓我能夠以編程方式計算每個開發人員使用這些註釋編寫了多少類?每個開發人員計算Java @author註釋

+0

你確定@author是註釋,而不是定義doclets(出現標籤在javadoc中)? – barjak 2010-04-21 08:46:28

+0

偉大的問題。現在我想到了,兩種情況都可以發生1)javadoc中的@author和2)@author註釋。似乎更經常發生doclet場景。這是否改變了解決方案? – Eclatante 2010-04-21 15:58:28

回答

4

假設這是你如何使用註釋

@Author("fred") 
public class MyClass {... 

那麼這裏就是會做它的方法

public List<Class> getClassesWrittenBy(String name, List<Class> classList) { 
    List<Class> list = new LinkedList<Class>(); 
    for (Class clazz: classList) 
     if (clazz.isAnnotationPresent(Author.class)) { 
      Author author = clazz.getAnnotation(Author.class); 
      if (author.value().equals(name)) 
      list.add(clazz); 
     } 
    return (list); 
} 
+0

爲什麼LinkedList? – IAdapter 2010-04-21 06:55:19

+0

沒有理由。可以(應該)使用Set。 – 2010-04-21 10:29:22

+0

如果使用doclet,解決方案是否會更改? – Eclatante 2010-04-22 14:47:20