インタフェースAnnotationValueVisitor<R,P>
- 型パラメータ:
R- このビジターのメソッドの戻り型P- このビジターのメソッドに対する追加パラメータのタイプ。
- 既知のすべての実装クラス:
AbstractAnnotationValueVisitor14,AbstractAnnotationValueVisitor6,AbstractAnnotationValueVisitor7,AbstractAnnotationValueVisitor8,AbstractAnnotationValueVisitor9,AbstractAnnotationValueVisitorPreviewPREVIEW,SimpleAnnotationValueVisitor14,SimpleAnnotationValueVisitor6,SimpleAnnotationValueVisitor7,SimpleAnnotationValueVisitor8,SimpleAnnotationValueVisitor9,SimpleAnnotationValueVisitorPreviewPREVIEW
boolean値とint値などです。 このインタフェースを実装しているクラスは、コンパイル時に値の型が未知の場合、値の操作に使用されます。 ビジターが値のacceptメソッドに渡されると、その値に適用可能なvisitXyzメソッドが呼び出されます。
このインタフェースを実装するクラスは、追加パラメータpがnullのときにNullPointerExceptionをスローする場合としない場合があります。詳細については、クラスの実装に関するドキュメントを参照してください。
- APIのノート:
- 警告: このインタフェースには、Javaプログラミング言語の将来のバージョンに追加される新しい、現在不明な言語構造に対応するためのメソッドが追加される可能性があります。 このような追加は、このAPIの導入後に追加された言語機能をサポートするために、このパッケージの別のビジター・インタフェースですでに行われています。 このインタフェースを直接実装するビジター・クラスは、将来のバージョンのプラットフォームとソースの互換性がない可能性があります。 このようなソースの非互換性を回避するために、ビジターの実装では、このインタフェースを実装する適切な抽象ビジター・クラスを拡張することをお薦めします。 ただし、APIは通常、抽象クラスのいずれかではなく、パラメータの型や戻り型などとして、このビジター・インタフェースを使用します。
新しい言語構造に対応するメソッドは、
ElementVisitorのvisitModuleの場合と同様に、強力なソース互換性を提供するためにデフォルト・メソッドとして追加する必要があります。 このインタフェースのデフォルト・メソッドの実装は、visitUnknownを呼び出します。この動作は、新しい言語構成でソース・バージョンをサポートする具象ビジターでオーバーライドされます。「utilパッケージ」には、このビジター・インタフェースを実装する複数のクラス・ファミリがあります。 ファミリは、
FooVisitorNの行に沿ったネーミング・パターンに従います。ここで、Nはビジターが適切な「ソース・バージョン」を示します。 特に、FooVisitorNは、ソース・バージョンNに存在するすべての言語構造を処理する必要があります。 バージョンN + 1の(またはそれ以降のリリース)に新しい言語構造が追加されていない場合、FooVisitorNはその新しいソース・バージョンも処理できます。その場合、FooVisitorNクラスのSupportedSourceVersion注釈は新しいバージョンを示します。 ソース・バージョンNの後に導入された言語構造を表す注釈値にアクセスすると、その動作がオーバーライドされないかぎり、FooVisitorNはUnknownAnnotationValueExceptionをスローします。ビジター・ファミリのどのメンバーをサブクラス化するかを選択する場合、最新のメンバーをサブクラス化すると、対象となるソース・バージョンの範囲が増加します。 サブクラス化するビジター・ファミリを選択する場合は、組込み機能を考慮してください:
AbstractAnnotationValueVisitors: スケルトン・ビジターの実装。SimpleAnnotationValueVisitors: デフォルトのアクションとデフォルトの戻り値をサポートします。
- 導入されたバージョン:
- 1.6
-
メソッドのサマリー
修飾子と型メソッド説明default Rvisit(AnnotationValue av) visit(av, null)と同等の簡易メソッドです。visit(AnnotationValue av, P p) 注釈値をビジットします。visitAnnotation(AnnotationMirror a, P p) 注釈の注釈値をビジットします。visitArray(List<? extends AnnotationValue> vals, P p) 注釈の配列値をビジットします。visitBoolean(boolean b, P p) 注釈のboolean値をビジットします。注釈のbyte値をビジットします。注釈のchar値をビジットします。visitDouble(double d, P p) 注釈のdouble値をビジットします。注釈のenum値をビジットします。visitFloat(float f, P p) 注釈のfloat値をビジットします。注釈のint値をビジットします。注釈のlong値をビジットします。visitShort(short s, P p) 注釈のshort値をビジットします。visitString(String s, P p) 注釈の文字列値をビジットします。visitType(TypeMirror t, P p) 注釈の型値をビジットします。visitUnknown(AnnotationValue av, P p) 未知の種類の注釈値をビジットします。
-
メソッドの詳細
-
visit
-
visit
default R visit(AnnotationValue av) visit(av, null)と同等の簡易メソッドです。- 実装要件:
- デフォルト実装は
visit(av, null)です。 - パラメータ:
av- ビジットする値- 戻り値:
- ビジター指定の結果
-
visitBoolean
-
visitByte
-
visitChar
-
visitDouble
-
visitFloat
-
visitInt
-
visitLong
-
visitShort
-
visitString
-
visitType
-
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- 必要に応じてビジターの実装はこの例外をスローできる
-