クラスModuleDescriptor.Builder
java.lang.Object
java.lang.module.ModuleDescriptor.Builder
- 含まれているクラス:
ModuleDescriptor
public static final class ModuleDescriptor.Builder extends Object
ModuleDescriptorオブジェクトをビルドするためのビルダー。
ModuleDescriptorは、newModule、newOpenModuleおよびnewAutomaticModuleメソッドを定義し、normal、openおよびautomaticモジュールを構築するためのビルダーを作成します。
モジュール内のパッケージのセットは、exports、opens、packages、providesおよびmainClassメソッドが呼び出されると、 Builderによって蓄積されます。
ビルダー・メソッドに指定されるパラメータであるモジュール名、パッケージ名およびクラス名は、「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- パッケージがすでにオープンとして宣言されている場合、またはオープン・モジュールまたは自動モジュールのビルダーである場合
-
opens
public ModuleDescriptor.Builder opens(Set<ModuleDescriptor.Opens.Modifier> ms, String pn, Set<String> targets) 指定された修飾子の(おそらく空の)セットを持つオープン・パッケージを追加します。 パッケージは、一連のターゲット・モジュールに対して開かれています。- パラメータ:
ms- 修飾子のセットpn- パッケージ名targets- ターゲット・モジュール名のセット- 戻り値:
- このビルダー
- スロー:
IllegalArgumentException- パッケージ名がnullであるか、有効なパッケージ名でない場合、ターゲット・モジュールのセットが空であるか、ターゲット・モジュールのセットに有効なモジュール名ではない名前が含まれていますIllegalStateException- パッケージがすでにオープンとして宣言されている場合、またはオープン・モジュールまたは自動モジュールのビルダーである場合
-
opens
public ModuleDescriptor.Builder opens(Set<ModuleDescriptor.Opens.Modifier> ms, String pn) 指定された修飾子の(おそらく空の)セットを持つオープン・パッケージを追加します。 パッケージはすべてのモジュールに対して開かれています。- パラメータ:
ms- 修飾子のセットpn- パッケージ名- 戻り値:
- このビルダー
- スロー:
IllegalArgumentException- パッケージ名がnullの場合、または合法的なパッケージ名でない場合IllegalStateException- パッケージがすでにオープンとして宣言されている場合、またはオープン・モジュールまたは自動モジュールのビルダーである場合
-
opens
public ModuleDescriptor.Builder opens(String pn, Set<String> targets) 開いているパッケージを追加します。 パッケージは、一連のターゲット・モジュールに対して開かれています。- パラメータ:
pn- パッケージ名targets- ターゲット・モジュール名のセット- 戻り値:
- このビルダー
- スロー:
IllegalArgumentException- パッケージ名がnullであるか、有効なパッケージ名でない場合、ターゲット・モジュールのセットが空であるか、ターゲット・モジュールのセットに有効なモジュール名ではない名前が含まれていますIllegalStateException- パッケージがすでにオープンとして宣言されている場合、またはオープン・モジュールまたは自動モジュールのビルダーである場合
-
opens
public ModuleDescriptor.Builder opens(String pn) 開いているパッケージを追加します。 パッケージはすべてのモジュールに対して開かれています。- パラメータ:
pn- パッケージ名- 戻り値:
- このビルダー
- スロー:
IllegalArgumentException- パッケージ名がnullの場合、または合法的なパッケージ名でない場合IllegalStateException- パッケージがすでにオープンとして宣言されている場合、またはオープン・モジュールまたは自動モジュールのビルダーである場合
-
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) モジュール・メイン・クラスを設定します。 メイン・クラスのパッケージがまだ追加されていない場合は、そのパッケージがモジュールに追加されます。 つまり、このメソッドは、このビルダーのpackagesメソッドを最初に起動してメイン・クラスのパッケージ名を追加するのと同じです。- パラメータ:
mc- モジュール・メイン・クラス- 戻り値:
- このビルダー
- スロー:
IllegalArgumentException-mainClassがnullであるか、名前付きパッケージ内のクラスの修飾名でない場合
-
build
public ModuleDescriptor build()コンポーネントからModuleDescriptorを構築して返します。依存関係が(ただし、"
java.base"という名前のモジュールを構築する必要はありません)と宣言されていなくても、モジュールは"java.base"を必要とします。 依存性が宣言されていない場合、"java.base"への依存はMANDATED修飾子を持ちます。- 戻り値:
- モジュール記述子
-