モジュール 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オブジェクトをビルドするためのビルダー。

ModuleDescriptorは、newModulenewOpenModuleおよびnewAutomaticModuleメソッドを定義し、normal、openおよびautomaticモジュールを構築するためのビルダーを作成します。

モジュール内のパッケージのセットは、exportsopenspackagesprovidesおよび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
  • メソッドの詳細

    • 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 - パッケージがすでにオープンとして宣言されている場合、またはオープン・モジュールまたは自動モジュールのビルダーである場合
    • opens

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

      指定された修飾子の(おそらく空の)セットを持つオープン・パッケージを追加します。 パッケージはすべてのモジュールに対して開かれています。
      パラメータ:
      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

      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)
      モジュール・メイン・クラスを設定します。 メイン・クラスのパッケージがまだ追加されていない場合は、そのパッケージがモジュールに追加されます。 つまり、このメソッドは、このビルダーのpackagesメソッドを最初に起動してメイン・クラスのパッケージ名を追加するのと同じです。
      パラメータ:
      mc - モジュール・メイン・クラス
      戻り値:
      このビルダー
      例外:
      IllegalArgumentException - mainClassnullであるか、名前付きパッケージ内のクラスの修飾名でない場合
    • build

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

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

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