-
- 型パラメータ:
R- このビジターのメソッドの戻り型P- このビジターのメソッドに追加するパラメータの型。
- 既知のすべての実装クラス:
AbstractAnnotationValueVisitor6,AbstractAnnotationValueVisitor7,AbstractAnnotationValueVisitor8,AbstractAnnotationValueVisitor9,SimpleAnnotationValueVisitor6,SimpleAnnotationValueVisitor7,SimpleAnnotationValueVisitor8,SimpleAnnotationValueVisitor9
public interface AnnotationValueVisitor<R,P>注釈型要素の値のビジターです。ビジター・デザイン・パターンのバリアントを使用します。 型階層のメンバーの具象型に基づいてディスパッチする標準のビジターとは異なり、このビジターは格納されたデータの型に基づいてディスパッチします。データは個別のサブクラスには格納されません。たとえば、boolean値とint値などです。 このインタフェースを実装しているクラスは、コンパイル時に値の型が未知の場合、値の操作に使用されます。 ビジターが値acceptメソッドに渡されると、その値に適用可能なvisitXyzメソッドが呼び出されます。このインタフェースを実装するクラスは、追加パラメータ
pがnullのときにNullPointerExceptionをスローする場合としない場合があります。詳細については、クラスの実装に関するドキュメントを参照してください。警告: Java™プログラミング言語の将来のバージョンに現在は未知の新しい言語構造が追加される場合、それらを格納するために、このインタフェースにメソッドが追加される可能性があります。 したがって、このインタフェースを直接実装するビジター・クラスは、プラットフォームの将来のバージョンでソースの互換性がなくなる可能性があります。 このようなソースの非互換性を回避するために、ビジターの実装では、このインタフェースを実装する適切な抽象ビジター・クラスを拡張することをお薦めします。 ただし、APIは通常、抽象クラスのいずれかではなく、パラメータの型や戻り型などとして、このビジター・インタフェースを使用します。
新しい言語コンストラクトを格納するためのメソッドは、デフォルト・メソッドとして追加された場合、ソースと互換性のある方法で追加されることがあります。 ただし、デフォルトのメソッドはJava SE 8以降のリリースでのみ使用でき、Java SE 8にバンドルされている
javax.lang.model.*パッケージはJava SE 7でも実行可能でなければなりません。 したがって、Java SE 8言語機能をカバーするようにjavax.lang.model.*を拡張する場合、デフォルトのメソッドは使用されませんでした。 ただし、Java SE 8以降のプラットフォームでのみ実行する必要があるjavax.lang.model.*パッケージのリビジョンでは、デフォルトのメソッドが使用されます。- 導入されたバージョン:
- 1.6
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド デフォルト・メソッド 修飾子と型 メソッド 説明 default Rvisit(AnnotationValue av)visit(av, null)と同等の簡易メソッドです。Rvisit(AnnotationValue av, P p)注釈値をビジットします。RvisitAnnotation(AnnotationMirror a, P p)注釈の注釈値をビジットします。RvisitArray(List<? extends AnnotationValue> vals, P p)注釈の配列値をビジットします。RvisitBoolean(boolean b, P p)注釈のboolean値をビジットします。RvisitByte(byte b, P p)注釈のbyte値をビジットします。RvisitChar(char c, P p)注釈のchar値をビジットします。RvisitDouble(double d, P p)注釈のdouble値をビジットします。RvisitEnumConstant(VariableElement c, P p)注釈のenum値をビジットします。RvisitFloat(float f, P p)注釈のfloat値をビジットします。RvisitInt(int i, P p)注釈のint値をビジットします。RvisitLong(long i, P p)注釈のlong値をビジットします。RvisitShort(short s, P p)注釈のshort値をビジットします。RvisitString(String s, P p)注釈の文字列値をビジットします。RvisitType(TypeMirror t, P p)注釈の型値をビジットします。RvisitUnknown(AnnotationValue av, P p)未知の種類の注釈値をビジットします。
-
-
-
メソッドの詳細
-
visit
R visit(AnnotationValue av, P p)
注釈値をビジットします。- パラメータ:
av- ビジットする値p- ビジター指定のパラメータ- 戻り値:
- ビジター指定の結果
-
visit
default R visit(AnnotationValue av)
visit(av, null)と同等の簡易メソッドです。- 実装要件:
- デフォルト実装は
visit(av, null)です。 - パラメータ:
av- ビジットする値- 戻り値:
- ビジター指定の結果
-
visitBoolean
R visitBoolean(boolean b, P p)
注釈のboolean値をビジットします。- パラメータ:
b- ビジットされる値p- ビジター指定のパラメータ- 戻り値:
- ビジットの結果
-
visitByte
R visitByte(byte b, P p)
注釈のbyte値をビジットします。- パラメータ:
b- ビジットされる値p- ビジター指定のパラメータ- 戻り値:
- ビジットの結果
-
visitChar
R visitChar(char c, P p)
注釈のchar値をビジットします。- パラメータ:
c- ビジットされる値p- ビジター指定のパラメータ- 戻り値:
- ビジットの結果
-
visitDouble
R visitDouble(double d, P p)
注釈のdouble値をビジットします。- パラメータ:
d- ビジットされる値p- ビジター指定のパラメータ- 戻り値:
- ビジットの結果
-
visitFloat
R visitFloat(float f, P p)
注釈のfloat値をビジットします。- パラメータ:
f- ビジットされる値p- ビジター指定のパラメータ- 戻り値:
- ビジットの結果
-
visitLong
R visitLong(long i, P p)
注釈のlong値をビジットします。- パラメータ:
i- ビジットされる値p- ビジター指定のパラメータ- 戻り値:
- ビジットの結果
-
visitShort
R visitShort(short s, P p)
注釈のshort値をビジットします。- パラメータ:
s- ビジットされる値p- ビジター指定のパラメータ- 戻り値:
- ビジットの結果
-
visitString
R visitString(String s, P p)
注釈の文字列値をビジットします。- パラメータ:
s- ビジットされる値p- ビジター指定のパラメータ- 戻り値:
- ビジットの結果
-
visitType
R visitType(TypeMirror t, P p)
注釈の型値をビジットします。- パラメータ:
t- ビジットされる値p- ビジター指定のパラメータ- 戻り値:
- ビジットの結果
-
visitEnumConstant
R visitEnumConstant(VariableElement c, P p)
注釈のenum値をビジットします。- パラメータ:
c- ビジットされる値p- ビジター指定のパラメータ- 戻り値:
- ビジットの結果
-
visitAnnotation
R visitAnnotation(AnnotationMirror a, P p)
注釈の注釈値をビジットします。- パラメータ:
a- ビジットされる値p- ビジター指定のパラメータ- 戻り値:
- ビジットの結果
-
visitArray
R visitArray(List<? extends AnnotationValue> vals, P p)
注釈の配列値をビジットします。- パラメータ:
vals- ビジットされる値p- ビジター指定のパラメータ- 戻り値:
- ビジットの結果
-
visitUnknown
R visitUnknown(AnnotationValue av, P p)
未知の種類の注釈値をビジットします。 これは、言語が拡張され、新しい種類の値を注釈に格納できるようになった場合に発生します。- パラメータ:
av- ビジットされる未知の値p- ビジター指定のパラメータ- 戻り値:
- ビジットの結果
- 例外:
UnknownAnnotationValueException- 必要に応じてビジターの実装はこの例外をスローできる
-
-