public static Class[] items;
アプリケーションの開始時に注釈を持つクラスで埋めたい静的フィールドがあり@ItemExample
ます。クラスの例 (簡略化):
public class ItemUtil{
public static Class[] itemClasses;
public static void actionsWithAllItemClasses(
//call some general method of classes in array using reflection API
)
}
@ItemExample
public class Item1 extends GeneralItem{
public static void generalMethod(){
//Item 1 specific action
}
}
@ItemExample
public class Item2 extends GeneralItem{
public static void generalMethod(){
//Item2 specific action
}
}
したがって、アプリケーションの開始時 (デプロイメント、ServletCONtextListneres の実行開始前) (Tomcat で実行) にitem classes=={Item1.class, Item2.class}
。generalMethod()
また、各クラスで ofをオーバーライドしたいのですGeneralItem
が、このメソッドは静的であるため、各クラスは独自のメソッドを宣言します。