- java.lang.Object
-
- java.lang.module.ModuleDescriptor.Builder
-
- 含まれているクラス:
- ModuleDescriptor
public static final class ModuleDescriptor.Builder extends Object
ModuleDescriptorオブジェクトをビルドするためのビルダー。ModuleDescriptorは、標準、オープンおよび自動モジュールを構築するためのビルダーを作成するためのnewModule、newOpenModuleおよびnewAutomaticModuleメソッドを定義します。モジュール内のパッケージのセットは、
exports、opens、packages、providesおよびmainClassメソッドが呼び出されると、Builderによって蓄積されます。ビルダー・メソッドに指定されたパラメータであるモジュール名、パッケージ名およびクラス名は、The Java™Language Specificationで定義されているクラス(名前付きパッケージ内)のモジュール名、パッケージ名および修飾名です。
使用例:
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
-
-
メソッドのサマリー
-
-
-
メソッドの詳細
-
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であるか、バージョン文字列として解析できない場合- 関連項目:
ModuleDescriptor.Version.parse(String)
-
mainClass
public ModuleDescriptor.Builder mainClass(String mc)
モジュールのメイン・クラスを設定します。 mainクラスのパッケージがまだ追加されていない場合は、モジュールに追加されます。 つまり、このメソッドは、このビルダーのpackagesメソッドを最初に起動してメイン・クラスのパッケージ名を追加することと同等です。- パラメータ:
mc- モジュールのメイン・クラス- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException-mainClassがnullであるか、名前付きパッケージ内のクラスの修飾名ではない場合
-
build
public ModuleDescriptor build()
コンポーネントからModuleDescriptorを構築して返します。依存性が宣言されていない場合でも、モジュールには"
java.base"が必要です(例外は、それ自体を必要としないため、"java.base"という名前のモジュールを構築する場合です)。 依存性が宣言されていなければ、「java.base」への依存にはMANDATED修飾子が含まれます。- 戻り値:
- モジュール記述子
-
-