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

クラスModuleDescriptor.Builder

java.lang.Object
java.lang.module.ModuleDescriptor.Builder
含まれているクラス:
ModuleDescriptor

public static final class ModuleDescriptor.Builder extends Object
ModuleDescriptorオブジェクトを構築するためのビルダー。

ModuleDescriptornewModulenewOpenModule、およびnewAutomaticModuleメソッドを定義して、normal、オープンおよび自動モジュールをビルドするためのビルダーを作成します。

モジュール内のパッケージのセットは、 Builderによって蓄積され、exportsopenspackagesprovides、および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

      モジュールに依存関係を追加します。
      パラメータ:
      req - 依存
      戻り値:
      このビルダー
      例外:
      IllegalArgumentException - ビルダーがビルドのために初期化されたモジュールに依存している場合
      IllegalStateException - モジュールへの依存が既に宣言されている場合、またはこのビルダーが自動モジュールの場合
    • requires

      特定の(おそらく空の)修飾子セットを使用して、モジュールに依存関係を追加します。 依存関係には、コンパイル時に記録されたモジュールのバージョンが含まれます。
      パラメータ:
      ms - 修飾子のセット
      mn - モジュール名
      compiledVersion - コンパイル時に記録されたモジュールのバージョン
      戻り値:
      このビルダー
      例外:
      IllegalArgumentException - モジュール名がnull、合法的なモジュール名でないか、このビルダーがビルドのために初期化されたモジュール名と等しい場合
      IllegalStateException - モジュールへの依存が既に宣言されている場合、またはこのビルダーが自動モジュールの場合
    • requires

      特定の(おそらく空の)修飾子セットを使用して、モジュールに依存関係を追加します。
      パラメータ:
      ms - 修飾子のセット
      mn - モジュール名
      戻り値:
      このビルダー
      例外:
      IllegalArgumentException - モジュール名がnull、合法的なモジュール名でないか、このビルダーがビルドのために初期化されたモジュール名と等しい場合
      IllegalStateException - モジュールへの依存が既に宣言されている場合、またはこのビルダーが自動モジュールの場合
    • requires

      public ModuleDescriptor.Builder requires(String mn)
      修飾子のセットが空のモジュールに依存関係を追加します。
      パラメータ:
      mn - モジュール名
      戻り値:
      このビルダー
      例外:
      IllegalArgumentException - モジュール名がnull、合法的なモジュール名でないか、このビルダーがビルドのために初期化されたモジュール名と等しい場合
      IllegalStateException - モジュールへの依存が既に宣言されている場合、またはこのビルダーが自動モジュールの場合
    • exports

      エクスポートされたパッケージを追加します。
      パラメータ:
      e - エクスポート
      戻り値:
      このビルダー
      例外:
      IllegalStateException - packageがすでにエクスポートされていると宣言されている場合、またはこのビルダーが自動モジュールの場合
    • exports

      (おそらく空の)修飾子のセットを指定して、エクスポートされたパッケージを追加します。 パッケージは、一連のターゲット・モジュールにエクスポートされます。
      パラメータ:
      ms - 修飾子のセット
      pn - パッケージ名
      targets - ターゲット・モジュール名のセット
      戻り値:
      このビルダー
      例外:
      IllegalArgumentException - パッケージ名がnullであるか、合法的なパッケージ名でない場合、ターゲット・モジュールのセットは空であるか、ターゲット・モジュールのセットに正式なモジュール名ではない名前が含まれています
      IllegalStateException - パッケージがすでにエクスポート済みとして宣言されている場合、またはこのビルダーが自動モジュール用である場合
    • exports

      (おそらく空の)修飾子のセットを指定して、エクスポートされたパッケージを追加します。 パッケージはすべてのモジュールにエクスポートされます。
      パラメータ:
      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

      開いているパッケージを追加します。
      パラメータ:
      obj - Opensオブジェクト
      戻り値:
      このビルダー
      例外:
      IllegalStateException - パッケージがすでにopenとして宣言されている場合、またはこれがオープン・モジュールまたは自動モジュールのビルダーである場合
    • opens

      与えられた(おそらく空の)修飾子のセットを含む公開パッケージを追加します。 パッケージにはターゲット・モジュールのセットがあります。
      パラメータ:
      ms - 修飾子のセット
      pn - パッケージ名
      targets - ターゲット・モジュール名のセット
      戻り値:
      このビルダー
      例外:
      IllegalArgumentException - パッケージ名がnullであるか、合法的なパッケージ名でない場合、ターゲット・モジュールのセットは空であるか、ターゲット・モジュールのセットに正式なモジュール名ではない名前が含まれています
      IllegalStateException - パッケージがすでにopenとして宣言されている場合、またはこれがオープン・モジュールまたは自動モジュールのビルダーである場合
    • opens

      与えられた(おそらく空の)修飾子のセットを含む公開パッケージを追加します。 パッケージはすべてのモジュールに対して開いています。
      パラメータ:
      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

      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

      モジュールのバージョンを設定します。
      パラメータ:
      v - バージョン
      戻り値:
      このビルダー
    • version

      public ModuleDescriptor.Builder version(String vs)
      モジュールのバージョンを設定します。
      パラメータ:
      vs - 解析するバージョン文字列
      戻り値:
      このビルダー
      例外:
      IllegalArgumentException - vsnullの場合、またはバージョン文字列として解析できない場合
      関連項目:
    • mainClass

      public ModuleDescriptor.Builder mainClass(String mc)
      モジュール・メイン・クラスを設定します。 まだ追加されていない場合は、メイン・クラスのパッケージがモジュールに追加されます。 つまり、このメソッドは、このBuilderのpackagesメソッドを最初に呼び出して、メイン・クラスのパッケージ名を追加するのと同じです。
      パラメータ:
      mc - モジュール・メイン・クラス
      戻り値:
      このビルダー
      例外:
      IllegalArgumentException - mainClassnullであるか、名前付きパッケージ内のクラスの修飾名でない場合
    • build

      public ModuleDescriptor build()
      コンポーネントからModuleDescriptorを構築して返します。

      依存関係が(ただし、"java.base"という名前のモジュールを構築する必要はありません)と宣言されていなくても、モジュールは"java.base"を必要とします。 依存関係が宣言されていない場合、"java.base"への依存はMANDATED修飾子を持ちます。

      戻り値:
      モジュール記述子