インタフェースConstantPoolBuilder

すべてのスーパー・インタフェース:
ClassFileElementPREVIEW, ConstantPoolPREVIEW, Iterable<PoolEntryPREVIEW>, WritableElementPREVIEW<ConstantPoolPREVIEW>

public sealed interface ConstantPoolBuilder extends ConstantPoolPREVIEW, WritableElementPREVIEW<ConstantPoolPREVIEW>
ConstantPoolBuilderは、JavaプラットフォームのプレビューAPIです。
プレビュー機能が有効な場合のみ、プログラムでConstantPoolBuilderを使用できます。
プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
クラス・ファイルの定数プールのビルダー。 構築中の定数プールへの読み取りおよび書き込みアクセスを提供します。 書込みは追加専用で、べき等の(エントリ・ベア・リング・メソッドがあると、既存のエントリが返されます。)です。 ConstantPoolBuilderPREVIEWは、ClassBuilderPREVIEWに関連付けられます。 ConstantPoolBuilderPREVIEWは、クラス・ファイル処理オプションなど、ClassBuilderPREVIEWの一部の状態へのアクセスも提供します。
導入されたバージョン:
22
  • メソッドの詳細

    • of

      新しい定数プール・ビルダーを返します。 新しい定数プール・ビルダーには、クラス・リーダーに関連付けられた定数プールの内容が事前に移入されます。
      パラメータ:
      classModel - コピー元のクラス
      戻り値:
      新しい定数プール・ビルダー
    • of

      新しい定数プール・ビルダーを返します。 新しい定数プール・ビルダーは空になります。
      戻り値:
      新しい定数プール・ビルダー
    • canWriteDirect

      boolean canWriteDirect(ConstantPoolPREVIEW constantPool)
      指定された定数プールが、この定数プールと索引互換であるかどうかを返します。 これは、同じ定数プールであるか、この定数プールがもう一方からコピーされたためです。
      パラメータ:
      constantPool - その他の定数プール
      戻り値:
      指定された定数プールが、この定数プールとインデックス互換かどうか
    • writeBootstrapMethods

      boolean writeBootstrapMethods(BufWriterPREVIEW buf)
      関連付けられたブートストラップ・メソッド・エントリを指定されたライターに書き込みます。
      パラメータ:
      buf - ライター
      戻り値:
      ブートストラップ・メソッド・エントリが書き込まれていない場合はfalse
    • utf8Entry

      Utf8EntryPREVIEW utf8Entry(String s)
      指定されたStringを記述するUtf8EntryPREVIEWを返します。 プール内のUTF8エントリがすでにこの文字列を記述している場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      s - 文字列
      戻り値:
      指定されたStringを記述するUtf8EntryPREVIEW
    • utf8Entry

      default Utf8EntryPREVIEW utf8Entry(ClassDesc desc)
      指定されたClassDescのフィールド記述子を記述するUtf8EntryPREVIEWを返します。 プール内のUTF8エントリがこのフィールド記述子をすでに記述している場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      desc - クラスのシンボリック記述子
      戻り値:
      指定されたClassDescのフィールド記述子を記述するUtf8EntryPREVIEW
    • utf8Entry

      default Utf8EntryPREVIEW utf8Entry(MethodTypeDesc desc)
      指定されたMethodTypeDescのメソッド記述子を記述するUtf8EntryPREVIEWを返します。 プール内のUTF8エントリがこのフィールド記述子をすでに記述している場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      desc - メソッド型のシンボリック記述子
      戻り値:
      指定されたMethodTypeDescのメソッド記述子を記述するUtf8EntryPREVIEW
    • classEntry

      内部名が指定されたUtf8EntryPREVIEWにエンコードされているクラスを記述するClassEntryPREVIEWを返します。 プール内のClassエントリがすでにこのクラスを記述している場合は、そのクラスが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      ne - クラスの内部名を記述する定数プール・エントリ
      戻り値:
      内部名が指定されたUtf8EntryPREVIEWにエンコードされているクラスを記述するClassEntryPREVIEW
    • classEntry

      default ClassEntryPREVIEW classEntry(ClassDesc classDesc)
      指定されたClassDescで説明されているクラスを記述するClassEntryPREVIEWを返します。 プール内のClassエントリがすでにこのクラスを記述している場合は、そのクラスが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      classDesc - クラスのシンボリック記述子
      戻り値:
      提供されたClassDescによって記述されたクラスを記述するClassEntryPREVIEW
      例外:
      IllegalArgumentException - classDescがプリミティブ型を表す場合
    • packageEntry

      PackageEntryPREVIEW packageEntry(Utf8EntryPREVIEW nameEntry)
      内部名が指定されたUtf8EntryPREVIEWにエンコードされているクラスを記述するPackageEntryPREVIEWを返します。 プール内のパッケージ・エントリがすでにこのクラスを記述している場合は、そのクラスが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      nameEntry - パッケージの内部名を記述する定数プール・エントリ
      戻り値:
      内部名が指定されたUtf8EntryPREVIEWにエンコードされているクラスを記述するPackageEntryPREVIEW
    • packageEntry

      default PackageEntryPREVIEW packageEntry(PackageDesc packageDesc)
      指定されたPackageDescで説明されているクラスを記述するPackageEntryPREVIEWを返します。 プール内のパッケージ・エントリがすでにこのクラスを記述している場合は、そのクラスが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      packageDesc - クラスのシンボリック記述子
      戻り値:
      提供されたPackageDescによって記述されたクラスを記述するPackageEntryPREVIEW
    • moduleEntry

      ModuleEntryPREVIEW moduleEntry(Utf8EntryPREVIEW moduleName)
      指定されたUtf8EntryPREVIEWに名前がエンコードされているモジュールを記述するModuleEntryPREVIEWを返します。 プール内のモジュール・エントリにこのクラスがすでに記述されている場合は、そのクラスが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      moduleName - モジュール名を記述する定数プール・エントリ
      戻り値:
      指定されたUtf8EntryPREVIEWに名前がエンコードされているモジュールを記述するModuleEntryPREVIEW
    • moduleEntry

      default ModuleEntryPREVIEW moduleEntry(ModuleDesc moduleDesc)
      指定されたModuleDescで説明されているモジュールを記述するModuleEntryPREVIEWを返します。 プール内のモジュール・エントリにこのクラスがすでに記述されている場合は、そのクラスが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      moduleDesc - クラスのシンボリック記述子
      戻り値:
      提供されているModuleDescで説明されているモジュールを記述するModuleEntryPREVIEW
    • nameAndTypeEntry

      NameAndTypeEntryPREVIEW nameAndTypeEntry(Utf8EntryPREVIEW nameEntry, Utf8EntryPREVIEW typeEntry)
      指定された名前と型を記述するNameAndTypeEntryPREVIEWを返します。 プール内のNameAndTypeエントリにこの名前と型がすでに記述されている場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      nameEntry - メンバー名
      typeEntry - メンバー・フィールドまたはメソッド記述子
      戻り値:
      指定された名前と型を記述するNameAndTypeEntryPREVIEW
    • nameAndTypeEntry

      default NameAndTypeEntryPREVIEW nameAndTypeEntry(String name, ClassDesc type)
      指定された名前と型を記述するNameAndTypeEntryPREVIEWを返します。 プール内のNameAndTypeエントリにこの名前と型がすでに記述されている場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      name - メンバー名
      type - フィールド型のシンボリック記述子
      戻り値:
      指定された名前と型を記述するNameAndTypeEntryPREVIEW
    • nameAndTypeEntry

      default NameAndTypeEntryPREVIEW nameAndTypeEntry(String name, MethodTypeDesc type)
      指定された名前と型を記述するNameAndTypeEntryPREVIEWを返します。 プール内のNameAndTypeエントリにこの名前と型がすでに記述されている場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      name - メンバー名
      type - メソッド型のシンボリック記述子
      戻り値:
      指定された名前と型を記述するNameAndTypeEntryPREVIEW
    • fieldRefEntry

      クラスのフィールドを記述するFieldRefEntryPREVIEWを返します。 プール内のFieldRefエントリがすでにこのフィールドを説明している場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      owner - フィールドがメンバーであるクラス
      nameAndType - フィールドの名前とタイプ
      戻り値:
      クラスのフィールドを記述するFieldRefEntryPREVIEW
    • fieldRefEntry

      default FieldRefEntryPREVIEW fieldRefEntry(ClassDesc owner, String name, ClassDesc type)
      クラスのフィールドを記述するFieldRefEntryPREVIEWを返します。 プール内のFieldRefエントリがすでにこのフィールドを説明している場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      owner - フィールドがメンバーであるクラス
      name - フィールドの名前
      type - フィールドの型
      戻り値:
      クラスのフィールドを記述するFieldRefEntryPREVIEW
      例外:
      IllegalArgumentException - ownerがプリミティブ型を表す場合
    • methodRefEntry

      クラスのメソッドを記述するMethodRefEntryPREVIEWを返します。 プール内のMethodRefEntryエントリがこのメソッドをすでに記述している場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      owner - メソッドがメンバーであるクラス
      nameAndType - メソッドの名前とタイプ
      戻り値:
      クラスのメソッドを記述するMethodRefEntryPREVIEW
    • methodRefEntry

      default MethodRefEntryPREVIEW methodRefEntry(ClassDesc owner, String name, MethodTypeDesc type)
      クラスのメソッドを記述するMethodRefEntryPREVIEWを返します。 プール内のMethodRefEntryエントリがこのメソッドをすでに記述している場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      owner - メソッドがメンバーであるクラス
      name - メソッドの名前
      type - メソッドの型
      戻り値:
      クラスのメソッドを記述するMethodRefEntryPREVIEW
      例外:
      IllegalArgumentException - ownerがプリミティブ型を表す場合
    • interfaceMethodRefEntry

      InterfaceMethodRefEntryPREVIEW interfaceMethodRefEntry(ClassEntryPREVIEW owner, NameAndTypeEntryPREVIEW nameAndType)
      クラスのメソッドを記述するInterfaceMethodRefEntryPREVIEWを返します。 プール内のInterfaceMethodRefEntryエントリがこのメソッドをすでに記述している場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      owner - メソッドがメンバーであるクラス
      nameAndType - メソッドの名前とタイプ
      戻り値:
      クラスのメソッドを記述するInterfaceMethodRefEntryPREVIEW
    • interfaceMethodRefEntry

      default InterfaceMethodRefEntryPREVIEW interfaceMethodRefEntry(ClassDesc owner, String name, MethodTypeDesc type)
      クラスのメソッドを記述するInterfaceMethodRefEntryPREVIEWを返します。 プール内のInterfaceMethodRefEntryエントリがこのメソッドをすでに記述している場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      owner - メソッドがメンバーであるクラス
      name - メソッドの名前
      type - メソッドの型
      戻り値:
      クラスのメソッドを記述するInterfaceMethodRefEntryPREVIEW
      例外:
      IllegalArgumentException - ownerがプリミティブ型を表す場合
    • methodTypeEntry

      MethodTypeEntryPREVIEW methodTypeEntry(MethodTypeDesc descriptor)
      メソッド・タイプを記述するMethodTypeEntryPREVIEWを返します。 プール内のMethodTypeエントリがこのメソッド・タイプをすでに記述している場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      descriptor - メソッド型のシンボリック記述子
      戻り値:
      メソッド型を記述するMethodTypeEntryPREVIEW
    • methodTypeEntry

      MethodTypeEntryPREVIEW methodTypeEntry(Utf8EntryPREVIEW descriptor)
      メソッド・タイプを記述するMethodTypeEntryPREVIEWを返します。 プール内のMethodTypeエントリがこのメソッド・タイプをすでに記述している場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      descriptor - メソッド・タイプ記述子の定数プール・エントリ
      戻り値:
      メソッド型を記述するMethodTypeEntryPREVIEW
    • methodHandleEntry

      default MethodHandleEntryPREVIEW methodHandleEntry(DirectMethodHandleDesc descriptor)
      直接メソッド・ハンドルを記述するMethodHandleEntryPREVIEWを返します。 プール内のMethodHandleエントリがこのメソッド・ハンドルをすでに記述している場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      descriptor - メソッド・ハンドルのシンボリック記述子
      戻り値:
      直接メソッド・ハンドルを記述するMethodHandleEntryPREVIEW
    • methodHandleEntry

      MethodHandleEntryPREVIEW methodHandleEntry(int refKind, MemberRefEntryPREVIEW reference)
      フィールド・アクセッサまたはメソッドを記述するMethodHandleEntryPREVIEWを返します。 プール内のMethodHandleエントリがこのメソッド・ハンドルをすでに記述している場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      refKind - メソッド・ハンドル4.4.8の参照の種類
      reference - フィールドまたはメソッドを記述する定数プール・エントリ
      戻り値:
      フィールド・アクセッサまたはメソッドを記述するMethodHandleEntryPREVIEW
    • invokeDynamicEntry

      default InvokeDynamicEntryPREVIEW invokeDynamicEntry(DynamicCallSiteDesc dcsd)
      動的コール・サイトを記述するInvokeDynamicEntryPREVIEWを返します。 プール内のInvokeDynamicエントリがすでにこのサイトを説明している場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      dcsd - メソッド・ハンドルのシンボリック記述子
      戻り値:
      動的コール・サイトを記述するInvokeDynamicEntryPREVIEW
    • invokeDynamicEntry

      InvokeDynamicEntryPREVIEW invokeDynamicEntry(BootstrapMethodEntryPREVIEW bootstrapMethodEntry, NameAndTypeEntryPREVIEW nameAndType)
      動的コール・サイトを記述するInvokeDynamicEntryPREVIEWを返します。 プール内のInvokeDynamicエントリがすでにこのサイトを説明している場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      bootstrapMethodEntry - ブートストラップ・メソッド表のエントリ
      nameAndType - 起動名と型
      戻り値:
      動的コール・サイトを記述するInvokeDynamicEntryPREVIEW
    • constantDynamicEntry

      default ConstantDynamicEntryPREVIEW constantDynamicEntry(DynamicConstantDesc<?> dcd)
      動的定数を記述するConstantDynamicEntryPREVIEWを返します。 プール内のConstantDynamicエントリがすでにこのサイトを説明している場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      dcd - 定数のシンボリック記述子
      戻り値:
      動的定数を記述するConstantDynamicEntryPREVIEW
    • constantDynamicEntry

      ConstantDynamicEntryPREVIEW constantDynamicEntry(BootstrapMethodEntryPREVIEW bootstrapMethodEntry, NameAndTypeEntryPREVIEW nameAndType)
      動的定数を記述するConstantDynamicEntryPREVIEWを返します。 プール内のConstantDynamicエントリがすでにこのサイトを説明している場合は、そのエントリが返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      bootstrapMethodEntry - ブートストラップ・メソッド表のエントリ
      nameAndType - 起動名と型
      戻り値:
      動的定数を記述するConstantDynamicEntryPREVIEW
    • intEntry

      IntegerEntryPREVIEW intEntry(int value)
      指定された値を記述するIntegerEntryPREVIEWを返します。 プール内の整数エントリがすでにこの値を記述している場合は、その値が返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      value - 値
      戻り値:
      指定された値を記述するIntegerEntryPREVIEW
    • floatEntry

      FloatEntryPREVIEW floatEntry(float value)
      指定された値を記述するFloatEntryPREVIEWを返します。 プール内の浮動小数点エントリがすでにこの値を記述している場合は、その値が返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      value - 値
      戻り値:
      指定された値を記述するFloatEntryPREVIEW
    • longEntry

      LongEntryPREVIEW longEntry(long value)
      指定された値を記述するLongEntryPREVIEWを返します。 プール内の長いエントリがすでにこの値を記述している場合は、その値が返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      value - 値
      戻り値:
      指定された値を記述するLongEntryPREVIEW
    • doubleEntry

      DoubleEntryPREVIEW doubleEntry(double value)
      指定された値を記述するDoubleEntryPREVIEWを返します。 プール内のdoubleエントリがすでにこの値を記述している場合は、その値が返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      value - 値
      戻り値:
      指定された値を記述するDoubleEntryPREVIEW
    • stringEntry

      指定されたUTF8エントリを参照するStringEntryPREVIEWを返します。 プール内のStringエントリがすでにこの値を記述している場合は、その値が返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      utf8 - 文字列を記述するUTF8エントリ
      戻り値:
      指定されたUTF8エントリを参照するStringEntryPREVIEW
    • stringEntry

      default StringEntryPREVIEW stringEntry(String value)
      指定された値を記述するStringEntryPREVIEWを返します。 プール内の文字列エントリがすでにこの値を記述している場合は、その値が返されます。それ以外の場合は、新しいエントリが追加され、新しいエントリが返されます。
      パラメータ:
      value - 値
      戻り値:
      指定された値を記述するStringEntryPREVIEW
    • constantValueEntry

      default ConstantValueEntryPREVIEW constantValueEntry(ConstantDesc c)
      指定されたInteger、Long、Float、DoubleまたはString定数を記述するConstantValueEntryPREVIEWを返します。
      パラメータ:
      c - 定数
      戻り値:
      指定されたInteger、Long、Float、DoubleまたはString定数を記述するConstantValueEntryPREVIEW
    • loadableConstantEntry

      default LoadableConstantEntryPREVIEW loadableConstantEntry(ConstantDesc c)
      指定された定数を記述するLoadableConstantEntryPREVIEWを返します。 定数は、Integer、String、Long、Float、Double、ClassDesc (クラス定数)、MethodTypeDesc (MethodType定数用)、DirectMethodHandleDesc (MethodHandle定数用)、またはDynamicConstantDesc (動的定数)である必要があります。
      パラメータ:
      c - 定数
      戻り値:
      指定された定数を記述するLoadableConstantEntryPREVIEW
    • annotationConstantValueEntry

      default AnnotationConstantValueEntryPREVIEW annotationConstantValueEntry(ConstantDesc c)
      指定された定数を記述するAnnotationConstantValueEntryPREVIEWを返します。 定数は、Integer、String、Long、Float、Double、ClassDesc (クラス定数)またはMethodTypeDesc (MethodType定数)である必要があります。
      パラメータ:
      c - 定数
      戻り値:
      指定された定数を記述するAnnotationConstantValueEntryPREVIEW
    • bsmEntry

      default BootstrapMethodEntryPREVIEW bsmEntry(DirectMethodHandleDesc methodReference, List<ConstantDesc> arguments)
      指定されたブートストラップ・メソッドおよび静的引数を記述するBootstrapMethodEntryPREVIEWを返します。
      パラメータ:
      methodReference - ブートストラップ・メソッド
      arguments - ブートストラップ引数
      戻り値:
      指定されたブートストラップ・メソッドおよび静的引数を記述するBootstrapMethodEntryPREVIEW
    • bsmEntry

      指定されたブートストラップ・メソッドおよび静的引数を記述するBootstrapMethodEntryPREVIEWを返します。
      パラメータ:
      methodReference - ブートストラップ・メソッド
      arguments - ブートストラップ引数
      戻り値:
      指定されたブートストラップ・メソッドおよび静的引数を記述するBootstrapMethodEntryPREVIEW