java.lang.Object
java.lang.module.ModuleDescriptor.Builder
- 含まれているクラス:
ModuleDescriptor
public static final class ModuleDescriptor.Builder extends Object
ModuleDescriptorオブジェクトを構築するためのビルダー。
ModuleDescriptorはnewModule、newOpenModule、およびnewAutomaticModuleメソッドを定義して、normal、オープンおよび自動モジュールをビルドするためのビルダーを作成します。
モジュール内のパッケージのセットは、 Builderによって蓄積され、exports、opens、packages、provides、およびmainClassメソッドが呼び出されます。
ビルダー・メソッドに指定されるパラメータであるモジュール名、パッケージ名およびクラス名は、「Java言語仕様」で定義されている(名前付きパッケージで)クラスのモジュール名、パッケージ名および修飾名です。
使用例:
ModuleDescriptor descriptor = ModuleDescriptor.newModule("stats.core")
.requires("java.base")
.exports("org.acme.stats.core.clustering")
.exports("org.acme.stats.core.regression")
.packages(Set.of("org.acme.stats.core.internal"))
.build();
- APIのノート:
Builderは、コンポーネントがビルダーに追加されるときにコンポーネントとインバリアントをチェックします。 これの根拠は、できるだけ早期にエラーを検出し、すべての検証をbuildメソッドに延期しないことです。- 導入されたバージョン:
- 9
-
メソッドのサマリー
修飾子と型メソッド説明build()コンポーネントからModuleDescriptorを構築して返します。エクスポートされたパッケージを追加します。エクスポートされたパッケージを追加します。エクスポートされたパッケージを追加します。(おそらく空の)修飾子のセットを指定して、エクスポートされたパッケージを追加します。(おそらく空の)修飾子のセットを指定して、エクスポートされたパッケージを追加します。モジュール・メイン・クラスを設定します。開いているパッケージを追加します。開いているパッケージを追加します。開いているパッケージを追加します。opens(Set<ModuleDescriptor.Opens.Modifier> ms, String pn) 与えられた(おそらく空の)修飾子のセットを含む公開パッケージを追加します。与えられた(おそらく空の)修飾子のセットを含む公開パッケージを追加します。パッケージをモジュールに追加します。1つ以上の実装を持つサービスを提供します。サービスの実装を提供します。モジュールに依存関係を追加します。修飾子のセットが空のモジュールに依存関係を追加します。特定の(おそらく空の)修飾子セットを使用して、モジュールに依存関係を追加します。requires(Set<ModuleDescriptor.Requires.Modifier> ms, String mn, ModuleDescriptor.Version compiledVersion) 特定の(おそらく空の)修飾子セットを使用して、モジュールに依存関係を追加します。サービスの依存関係を追加します。モジュールのバージョンを設定します。モジュールのバージョンを設定します。
-
メソッドの詳細
-
requires
public ModuleDescriptor.Builder requires(ModuleDescriptor.Requires req) モジュールに依存関係を追加します。- パラメータ:
req- 依存- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException- ビルダーがビルドのために初期化されたモジュールに依存している場合IllegalStateException- モジュールへの依存が既に宣言されている場合、またはこのビルダーが自動モジュールの場合
-
requires
public ModuleDescriptor.Builder requires(Set<ModuleDescriptor.Requires.Modifier> ms, String mn, ModuleDescriptor.Version compiledVersion) 特定の(おそらく空の)修飾子セットを使用して、モジュールに依存関係を追加します。 依存関係には、コンパイル時に記録されたモジュールのバージョンが含まれます。- パラメータ:
ms- 修飾子のセットmn- モジュール名compiledVersion- コンパイル時に記録されたモジュールのバージョン- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException- モジュール名がnull、合法的なモジュール名でないか、このビルダーがビルドのために初期化されたモジュール名と等しい場合IllegalStateException- モジュールへの依存が既に宣言されている場合、またはこのビルダーが自動モジュールの場合
-
requires
public ModuleDescriptor.Builder requires(Set<ModuleDescriptor.Requires.Modifier> ms, String mn) 特定の(おそらく空の)修飾子セットを使用して、モジュールに依存関係を追加します。- パラメータ:
ms- 修飾子のセットmn- モジュール名- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException- モジュール名がnull、合法的なモジュール名でないか、このビルダーがビルドのために初期化されたモジュール名と等しい場合IllegalStateException- モジュールへの依存が既に宣言されている場合、またはこのビルダーが自動モジュールの場合
-
requires
public ModuleDescriptor.Builder requires(String mn) 修飾子のセットが空のモジュールに依存関係を追加します。- パラメータ:
mn- モジュール名- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException- モジュール名がnull、合法的なモジュール名でないか、このビルダーがビルドのために初期化されたモジュール名と等しい場合IllegalStateException- モジュールへの依存が既に宣言されている場合、またはこのビルダーが自動モジュールの場合
-
exports
public ModuleDescriptor.Builder exports(ModuleDescriptor.Exports e) エクスポートされたパッケージを追加します。- パラメータ:
e- エクスポート- 戻り値:
- このビルダー
- 例外:
IllegalStateException-packageがすでにエクスポートされていると宣言されている場合、またはこのビルダーが自動モジュールの場合
-
exports
public ModuleDescriptor.Builder exports(Set<ModuleDescriptor.Exports.Modifier> ms, String pn, Set<String> targets) (おそらく空の)修飾子のセットを指定して、エクスポートされたパッケージを追加します。 パッケージは、一連のターゲット・モジュールにエクスポートされます。- パラメータ:
ms- 修飾子のセットpn- パッケージ名targets- ターゲット・モジュール名のセット- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException- パッケージ名がnullであるか、合法的なパッケージ名でない場合、ターゲット・モジュールのセットは空であるか、ターゲット・モジュールのセットに正式なモジュール名ではない名前が含まれていますIllegalStateException- パッケージがすでにエクスポート済みとして宣言されている場合、またはこのビルダーが自動モジュール用である場合
-
exports
public ModuleDescriptor.Builder exports(Set<ModuleDescriptor.Exports.Modifier> ms, String pn) (おそらく空の)修飾子のセットを指定して、エクスポートされたパッケージを追加します。 パッケージはすべてのモジュールにエクスポートされます。- パラメータ:
ms- 修飾子のセットpn- パッケージ名- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException- パッケージ名がnullの場合、または合法的なパッケージ名でない場合IllegalStateException- パッケージがすでにエクスポート済みとして宣言されている場合、またはこのビルダーが自動モジュール用である場合
-
exports
public ModuleDescriptor.Builder exports(String pn, Set<String> targets) エクスポートされたパッケージを追加します。 パッケージは、一連のターゲット・モジュールにエクスポートされます。- パラメータ:
pn- パッケージ名targets- ターゲット・モジュール名のセット- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException- パッケージ名がnullであるか、合法的なパッケージ名でない場合、ターゲット・モジュールのセットは空であるか、ターゲット・モジュールのセットに正式なモジュール名ではない名前が含まれていますIllegalStateException- パッケージがすでにエクスポート済みとして宣言されている場合、またはこのビルダーが自動モジュール用である場合
-
exports
public ModuleDescriptor.Builder exports(String pn) エクスポートされたパッケージを追加します。 パッケージはすべてのモジュールにエクスポートされます。- パラメータ:
pn- パッケージ名- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException- パッケージ名がnullの場合、または合法的なパッケージ名でない場合IllegalStateException- パッケージがすでにエクスポート済みとして宣言されている場合、またはこのビルダーが自動モジュール用である場合
-
opens
public ModuleDescriptor.Builder opens(ModuleDescriptor.Opens obj) 開いているパッケージを追加します。- パラメータ:
obj-Opensオブジェクト- 戻り値:
- このビルダー
- 例外:
IllegalStateException- パッケージがすでにopenとして宣言されている場合、またはこれがオープン・モジュールまたは自動モジュールのビルダーである場合
-
opens
public ModuleDescriptor.Builder opens(Set<ModuleDescriptor.Opens.Modifier> ms, String pn, Set<String> targets) 与えられた(おそらく空の)修飾子のセットを含む公開パッケージを追加します。 パッケージにはターゲット・モジュールのセットがあります。- パラメータ:
ms- 修飾子のセットpn- パッケージ名targets- ターゲット・モジュール名のセット- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException- パッケージ名がnullであるか、合法的なパッケージ名でない場合、ターゲット・モジュールのセットは空であるか、ターゲット・モジュールのセットに正式なモジュール名ではない名前が含まれていますIllegalStateException- パッケージがすでにopenとして宣言されている場合、またはこれがオープン・モジュールまたは自動モジュールのビルダーである場合
-
opens
public ModuleDescriptor.Builder opens(Set<ModuleDescriptor.Opens.Modifier> ms, String pn) 与えられた(おそらく空の)修飾子のセットを含む公開パッケージを追加します。 パッケージはすべてのモジュールに対して開いています。- パラメータ:
ms- 修飾子のセットpn- パッケージ名- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException- パッケージ名がnullの場合、または合法的なパッケージ名でない場合IllegalStateException- パッケージがすでにopenとして宣言されている場合、またはこれがオープン・モジュールまたは自動モジュールのビルダーである場合
-
opens
public ModuleDescriptor.Builder opens(String pn, Set<String> targets) 開いているパッケージを追加します。 パッケージにはターゲット・モジュールのセットがあります。- パラメータ:
pn- パッケージ名targets- ターゲット・モジュール名のセット- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException- パッケージ名がnullであるか、合法的なパッケージ名でない場合、ターゲット・モジュールのセットは空であるか、ターゲット・モジュールのセットに正式なモジュール名ではない名前が含まれていますIllegalStateException- パッケージがすでにopenとして宣言されている場合、またはこれがオープン・モジュールまたは自動モジュールのビルダーである場合
-
opens
public ModuleDescriptor.Builder opens(String pn) 開いているパッケージを追加します。 パッケージはすべてのモジュールに対して開いています。- パラメータ:
pn- パッケージ名- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException- パッケージ名がnullの場合、または合法的なパッケージ名でない場合IllegalStateException- パッケージがすでにopenとして宣言されている場合、またはこれがオープン・モジュールまたは自動モジュールのビルダーである場合
-
uses
public ModuleDescriptor.Builder uses(String service) サービスの依存関係を追加します。- パラメータ:
service- サービス型- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException- サービス型がnullであるか、名前付きパッケージ内のクラスの修飾名ではないIllegalStateException- サービス型への依存がすでに宣言されている場合、またはこれが自動モジュールのビルダーである場合
-
provides
public ModuleDescriptor.Builder provides(ModuleDescriptor.Provides p) 1つ以上の実装を持つサービスを提供します。 モジュールにprovider(またはプロバイダのファクトリ)のパッケージが追加されていない場合は、それぞれのパッケージが追加されます。- パラメータ:
p- 提供- 戻り値:
- このビルダー
- 例外:
IllegalStateException- サービス型のプロバイダが既に宣言されている場合
-
provides
public ModuleDescriptor.Builder provides(String service, List<String> providers) サービスの実装を提供します。 各プロバイダのパッケージ(またはプロバイダのファクトリ)がまだ追加されていない場合、モジュールに追加されます。- パラメータ:
service- サービス型providers- プロバイダまたはプロバイダのファクトリ・クラス名のリスト- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException- サービス型またはプロバイダ・クラス名のいずれかがnullであるか、名前付きパッケージのクラスの修飾名でない場合、またはプロバイダ・クラス名のリストが空の場合IllegalStateException- サービス型のプロバイダが既に宣言されている場合
-
packages
public ModuleDescriptor.Builder packages(Set<String> pns) パッケージをモジュールに追加します。 モジュールに含まれていないパッケージ名のセット内のすべてのパッケージがモジュールに追加されます。- パラメータ:
pns- パッケージ名の(おそらく空の)セット- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException- パッケージ名のいずれかがnullであるか、合法的なパッケージ名ではない
-
version
public ModuleDescriptor.Builder version(ModuleDescriptor.Version v) モジュールのバージョンを設定します。- パラメータ:
v- バージョン- 戻り値:
- このビルダー
-
version
public ModuleDescriptor.Builder version(String vs) モジュールのバージョンを設定します。- パラメータ:
vs- 解析するバージョン文字列- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException-vsがnullの場合、またはバージョン文字列として解析できない場合- 関連項目:
-
mainClass
public ModuleDescriptor.Builder mainClass(String mc) モジュール・メイン・クラスを設定します。 まだ追加されていない場合は、メイン・クラスのパッケージがモジュールに追加されます。 つまり、このメソッドは、このBuilderのpackagesメソッドを最初に呼び出して、メイン・クラスのパッケージ名を追加するのと同じです。- パラメータ:
mc- モジュール・メイン・クラス- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException-mainClassがnullであるか、名前付きパッケージ内のクラスの修飾名でない場合
-
build
public ModuleDescriptor build()コンポーネントからModuleDescriptorを構築して返します。依存関係が(ただし、"
java.base"という名前のモジュールを構築する必要はありません)と宣言されていなくても、モジュールは"java.base"を必要とします。 依存関係が宣言されていない場合、"java.base"への依存はMANDATED修飾子を持ちます。- 戻り値:
- モジュール記述子
-