- 関数型インタフェース:
- これは関数型インタフェースなので、ラムダ式またはメソッド参照の代入先として使用できます。
@FunctionalInterface public interface ClassHierarchyResolver
ClassHierarchyResolverは、JavaプラットフォームのプレビューAPIです。
プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
コード構築中に正しいスタック・マップを生成するためのクラス階層情報を提供します。
- 導入されたバージョン:
- 22
-
ネストされたクラスのサマリー
ネストされたクラス修飾子と型インタフェース説明static interfacePreview.解決済みクラスに関する情報。 -
メソッドのサマリー
修飾子と型メソッド説明default ClassHierarchyResolverPREVIEWcached()このリゾルバからクラス階層情報をキャッシュするClassHierarchyResolverを返します。default ClassHierarchyResolverPREVIEWこのリゾルバからクラス階層情報をキャッシュするClassHierarchyResolverを返します。リフレクションを使用してシステム・クラス・ローダーからClassHierarchyResolver.ClassHierarchyInfoPREVIEWを取得するClassHierarchyResolverPREVIEWのデフォルト・インスタンスを返します。getClassInfo(ClassDesc classDesc) 指定されたクラス名のClassHierarchyResolver.ClassHierarchyInfoPREVIEWを返します。リゾルバで名前が不明な場合はnullを返します。クラス階層メタデータのコレクションからクラス階層情報を抽出するClassHierarchyResolverPREVIEWを返しますofClassLoading(ClassLoader loader) ClassLoaderを使用してReflection APIを介してクラス階層情報を抽出するClassHierarchyResolverを返します。ofClassLoading(MethodHandles.Lookup lookup) Lookupを使用してReflection APIを介してクラス階層情報を抽出するClassHierarchyResolverを返します。ofResourceParsing(ClassLoader loader) クラス・ローダーによって配置されたクラス・ファイルからクラス階層情報を抽出するClassHierarchyResolverPREVIEWを返します。ofResourceParsing(Function<ClassDesc, InputStream> classStreamResolver) マッピング関数によって配置されたクラス・ファイルからクラス階層情報を抽出するClassHierarchyResolverPREVIEWを返します。default ClassHierarchyResolverPREVIEWこのClassHierarchyResolverPREVIEWを、指定されたクラスについてこのリゾルバが認識していない場合に参照する別のClassHierarchyResolverPREVIEWと連鎖します。
-
メソッドの詳細
-
defaultResolver
static ClassHierarchyResolverPREVIEW defaultResolver()リフレクションを使用してシステム・クラス・ローダーからClassHierarchyResolver.ClassHierarchyInfoPREVIEWを取得するClassHierarchyResolverPREVIEWのデフォルト・インスタンスを返します。- 戻り値:
- リフレクションを使用してシステム・クラス・ローダーから
ClassHierarchyResolver.ClassHierarchyInfoPREVIEWを取得するClassHierarchyResolverPREVIEWのデフォルト・インスタンス
-
getClassInfo
ClassHierarchyResolver.ClassHierarchyInfoPREVIEW getClassInfo(ClassDesc classDesc) 指定されたクラス名のClassHierarchyResolver.ClassHierarchyInfoPREVIEWを返します。リゾルバで名前が不明な場合はnullを返します。- パラメータ:
classDesc- クラスの記述子- 戻り値:
- 指定されたクラス名の
ClassHierarchyResolver.ClassHierarchyInfoPREVIEW、またはリゾルバで名前が不明な場合はnull - 例外:
IllegalArgumentException- クラスを階層に問い合せるべきでない場合
-
orElse
default ClassHierarchyResolverPREVIEW orElse(ClassHierarchyResolverPREVIEW other) このClassHierarchyResolverPREVIEWを、指定されたクラスについてこのリゾルバが認識していない場合に参照する別のClassHierarchyResolverPREVIEWと連鎖します。- 実装要件:
- デフォルトの実装では、このリゾルバが
nullを返す場合に、他のリゾルバに問い合せるために実装されたリゾルバが返されます。 - パラメータ:
other- 他のリゾルバ- 戻り値:
- 連鎖リゾルバ
-
cached
default ClassHierarchyResolverPREVIEW cached(Supplier<Map<ClassDesc, ClassHierarchyResolver.ClassHierarchyInfoPREVIEW>> cacheFactory) このリゾルバからクラス階層情報をキャッシュするClassHierarchyResolverを返します。 委任リゾルバが別の方法で返された場合、返されたリゾルバは更新されません。 返されるリゾルバのスレッド・セーフティは、cacheFactoryによって返されるマップのスレッド・セーフティに依存します。- 実装要件:
- デフォルトの実装では、
cacheFactoryによって提供されるキャッシュ・マップのインスタンスを保持するリゾルバが返されます。 キャッシュ・マップは常に最初に要求され、キャッシュ・マップにすべての解決済および未解決のクラス情報が入力されます。 キャッシュ・マップは、nullキーおよび値を拒否する場合があります。 - パラメータ:
cacheFactory- キャッシュのファクトリ- 戻り値:
- キャッシュを使用したClassHierarchyResolver
-
cached
default ClassHierarchyResolverPREVIEW cached()このリゾルバからクラス階層情報をキャッシュするClassHierarchyResolverを返します。 委任リゾルバが別の方法で返された場合、返されたリゾルバは更新されません。 返されたリゾルバはスレッド・セーフではありません。MethodHandles.Lookup lookup = ...; ClassHierarchyResolver resolver = ClassHierarchyResolver.ofClassLoading(lookup).cached();- 実装要件:
- デフォルトの実装では、
HashMapサプライヤをcacheFactoryとしてcached(Supplier)がコールされます。 - 戻り値:
- ClassHierarchyResolver
-
ofResourceParsing
static ClassHierarchyResolverPREVIEW ofResourceParsing(Function<ClassDesc, InputStream> classStreamResolver) マッピング関数によって配置されたクラス・ファイルからクラス階層情報を抽出するClassHierarchyResolverPREVIEWを返します。 マッピング関数は、クラス・ファイルにマッピングを提供できない場合、nullを返す必要があります。 指定された入力ストリームからのIOExceptionは、UncheckedIOExceptionとして再スローされます。- パラメータ:
classStreamResolver- クラス記述子をクラス・ファイル入力ストリームにマップします。- 戻り値:
- the ClassHierarchyResolverPREVIEW
-
ofResourceParsing
static ClassHierarchyResolverPREVIEW ofResourceParsing(ClassLoader loader) クラス・ローダーによって配置されたクラス・ファイルからクラス階層情報を抽出するClassHierarchyResolverPREVIEWを返します。- パラメータ:
loader- クラス・ローダー、クラス・ファイルの検索- 戻り値:
- the ClassHierarchyResolverPREVIEW
-
of
static ClassHierarchyResolverPREVIEW of(Collection<ClassDesc> interfaces, Map<ClassDesc, ClassDesc> classToSuperClass) クラス階層メタデータのコレクションからクラス階層情報を抽出するClassHierarchyResolverPREVIEWを返します- パラメータ:
interfaces- インタフェースと認識されるクラスの集合classToSuperClass- クラスからスーパークラスへのマップ- 戻り値:
- the ClassHierarchyResolverPREVIEW
-
ofClassLoading
static ClassHierarchyResolverPREVIEW ofClassLoading(ClassLoader loader) ClassLoaderを使用してReflection APIを介してクラス階層情報を抽出するClassHierarchyResolverを返します。- パラメータ:
loader- クラス・ローダー- 戻り値:
- クラス階層リゾルバ
-
ofClassLoading
static ClassHierarchyResolverPREVIEW ofClassLoading(MethodHandles.Lookup lookup) Lookupを使用してReflection APIを介してクラス階層情報を抽出するClassHierarchyResolverを返します。 解決されたクラスが指定されたルックアップにアクセスできない場合、nullを返すのではなく、IllegalArgumentExceptionがスローされます。- パラメータ:
lookup- ルックアップ、解決するクラスにアクセスできる必要があります。- 戻り値:
- クラス階層リゾルバ
-
ClassHierarchyResolverを使用できます。