タグ

annotationに関するitengineerのブックマーク (3)

  • JavaでAnnotationがついたクラスがあったら、それに対して処理したい - Yamashiro0217の日記

    JavaであるAnnotation(アノテーション)がついたクラスがあったら、それに対して処理したい。 あるいは、ある命名規則に合致するクラスがあったら、それに対して処理した。 そんなことを思ったことのあるJavaプログラマーは、吐いて捨てるほどいると思いますがいかがお過ごしでしょうか。 こう考えるのは Java 初心者ですよ! リフレクションでごにょごにょすればいいんだよね。 クラスローダーからもってくればよくね。 アウト。 java.lang.Class から Package クラス取得して・・・ Package#getClasses なんてありませんよ! クラスローダーを再帰的にたどって、ロードされてるクラスを全部取得して・・・ Package#getClasses がない理由と同様です。無理です。 Java のクラスロードの仕組みについて立ち戻って思い出してください。 そう。Jav

    JavaでAnnotationがついたクラスがあったら、それに対して処理したい - Yamashiro0217の日記
    itengineer
    itengineer 2008/12/02
    ymsr先生ってプログラム書いてたんだ!知らなかった!
  • メタアノテーション

    アノテーションのアノテーション アノテーションを読み込んでクラスやフィールドなどの情報を管理するという手法が可能になりますが、そのためにメタアノテーションを知る必要があります。 メタアノテーションとは、単純にアノテーションに指定するアノテーションです。 例えば、デフォルトでアノテーションは、クラスやフィールド、メソッドやコンストラクタなど、アノテーションが指定できるあらゆる宣言に記述可能です。 しかし、アノテーションの目的によってはクラスだけに指定して意味のあるものや、メソッドだけに指定して意味のあるものが存在します。 例として、メタアノテーションはアノテーションに指定するためのアノテーションであり、メタアノテーションをクラスに指定することに意味はありません。 こうした問題を解決するための、アノテーションの振る舞いや制限を指定するのがメタアノテーションなのです。 メタアノテーションには、コ

  • Javaアノテーションメモ(Hishidama's Java annotation Memo)

    それぞれの指定の意味する場所は、以下のようになっている。 @LocationExampleAnnotation //TYPE:クラス定義やインターフェース定義をする場所 public class アノテーションを付けるサンプル { @LocationExampleAnnotation //FIELD:フィールド(メンバー変数)定義 protected int value; @LocationExampleAnnotation //CONSTRUCTOR:コンストラクター定義 public アノテーションを付けるサンプル() { } @LocationExampleAnnotation //METHOD:メソッド定義 public void メソッド() { } public int 引数ありメソッド( @LocationExampleAnnotation //PARAMETER:パラメータ

  • 1