R - このビジターのメソッドの戻り型。 結果を返すことを必要としないビジターのVoidを使用する。 P - このビジターのメソッドに追加するパラメータの型。 追加のパラメータを必要としないビジターのVoidを使用する。 public interface ElementVisitor<R,P>
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.*を拡張する場合、デフォルト・メソッドは使用できません。 ただし、javax.lang.model.*パッケージの今後のリビジョンで、Java SE 8以降のプラットフォーム・バージョンだけで実行が求められるようになれば、デフォルト・メソッドを使用できます。
AbstractElementVisitor6, AbstractElementVisitor7| 修飾子と型 | メソッド | 説明 |
|---|---|---|
R |
visit(Element e) |
v.visit(e, null)と同等の簡易メソッドです。 |
R |
visit(Element e, P p) |
要素をビジットします。
|
R |
visitExecutable(ExecutableElement e, P p) |
実行可能要素をビジットします。
|
R |
visitPackage(PackageElement e, P p) |
パッケージ要素をビジットします。
|
R |
visitType(TypeElement e, P p) |
型要素をビジットします。
|
R |
visitTypeParameter(TypeParameterElement e, P p) |
型パラメータ要素をビジットします。
|
R |
visitUnknown(Element e, P p) |
未知の種類の要素をビジットします。
|
R |
visitVariable(VariableElement e, P p) |
変数要素をビジットします。
|
R visitPackage(PackageElement e, P p)
e - ビジットする要素p - ビジター指定のパラメータR visitType(TypeElement e, P p)
e - ビジットする要素p - ビジター指定のパラメータR visitVariable(VariableElement e, P p)
e - ビジットする要素p - ビジター指定のパラメータR visitExecutable(ExecutableElement e, P p)
e - ビジットする要素p - ビジター指定のパラメータR visitTypeParameter(TypeParameterElement e, P p)
e - ビジットする要素p - ビジター指定のパラメータR visitUnknown(Element e, P p)
Element階層に追加された場合に発生します。 e - ビジットする要素p - ビジター指定のパラメータUnknownElementException - 必要に応じてビジターの実装はこの例外をスローできる バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。