- 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
-
-
メソッドのサマリー
-
-
-
メソッドの詳細
-
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)
モジュール・メイン・クラスを設定します。 まだ追加されていない場合は、メイン・クラスのパッケージがモジュールに追加されます。 つまり、このメソッドは、このBuilderのpackages
メソッドを最初に呼び出して、メイン・クラスのパッケージ名を追加するのと同じです。- パラメータ:
mc
- モジュール・メイン・クラス- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException
-mainClass
がnull
であるか、名前付きパッケージ内のクラスの修飾名でない場合
-
build
public ModuleDescriptor build()
コンポーネントからModuleDescriptor
を構築して返します。依存関係が(ただし、"
java.base
"という名前のモジュールを構築する必要はありません)と宣言されていなくても、モジュールは"java.base
"を必要とします。 依存関係が宣言されていない場合、"java.base
"への依存はMANDATED
修飾子を持ちます。- 戻り値:
- モジュール記述子
-
-