モジュール java.base
パッケージ java.lang.module

インタフェースModuleFinder


public interface ModuleFinder
モジュールの検索。 ModuleFinderは、resolutionまたは「サービス・バインディング」の間にモジュールを見つけるために使用されます。

ModuleFinderは、指定された名前のモジュールを1つのみ検索できます。 たとえば、一連のディレクトリ内のモジュールを検索するModuleFinderは、指定された名前のモジュールの最初の出現箇所を特定し、その名前の他のモジュールは、順序の後半のディレクトリに表示されることを無視します。

使用例:

    Path dir1 = ..., dir2 = ..., dir3 = ...;
    ModuleFinder finder = ModuleFinder.of(dir1, dir2, dir3);
    Optional<ModuleReference> omref = finder.find("jdk.foo");
    omref.ifPresent(mref -> ... );

ここで定義したfindおよびfindAllメソッドは、いくつかの理由で失敗する可能性があります。 これらには、I/Oエラー、モジュール記述子(module-info.class)の解析で検出されたエラー、またはModuleFinder.ofから戻されたModuleFinderの場合、同じ名前の2つ以上のモジュールがディレクトリにあることが含まれます。 エラーが検出されると、これらのメソッドはFindExceptionを適切なcauseでスローします。 FindExceptionがスローされた後のModuleFinderの動作は未定義です。 たとえば、例外がスローされた後にfindを呼び出すと、例外の原因となる同じモジュールをスキャンする場合と、スキャンしない場合があります。 例外がスローされた後にモジュール・ファインダを破棄することをお薦めします。

ModuleFinderは、スレッド・セーフである必要はありません。

導入されたバージョン:
9