インタフェースClassReader

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

public sealed interface ClassReader extends ConstantPoolPREVIEW
ClassReaderは、JavaプラットフォームのプレビューAPIです。
プレビュー機能が有効な場合のみ、プログラムでClassReaderを使用できます。
プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
クラス・ファイルからの読み取りをサポートします。 クラス・ファイル内の特定のオフセットで、様々な数値型(e.g., u2, u4)のデータを読み取る、RAWバイトをコピーする、および定数プール・エントリを読み取るためのメソッドが提供されます。 カスタム属性のマッパーや処理オプションなど、追加の読取りコンテキストをカプセル化します。
導入されたバージョン:
22
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    int
    クラス・ファイルの長さをバイト単位で返します。
    boolean
    compare(BufWriterPREVIEW bufWriter, int bufWriterOffset, int classReaderOffset, int length)
    クラス・ファイルのバイト範囲を、BufWriterPREVIEW内のバイト範囲と比較します。
    void
    copyBytesTo(BufWriterPREVIEW buf, int offset, int len)
    クラス・ファイルからBufWriterPREVIEWへのバイト範囲のコピー
    カスタム属性マッパーの表を返します。
    int
    クラスのアクセス・フラグをビット・マスクとして返します。
    byte[]
    readBytes(int offset, int len)
    クラス・ファイルの指定された範囲にあるバイトのコピーを返します。
    readClassEntry(int offset)
    クラス・ファイル内で指定されたオフセットでインデックスが指定されたクラス・エントリを返します。
    double
    readDouble(int offset)
    クラス・ファイル内で指定されたオフセットにあるdouble値を返します。
    readEntry(int offset)
    クラス・ファイル内で指定されたオフセットでインデックスが指定された定数プール・エントリを返します。
    <T extends PoolEntryPREVIEW>
    T
    readEntry(int offset, Class<T> cls)
    指定された型の定数プール・エントリを返します。その索引は、クラス・ファイル内の指定されたオフセットで指定されます。
    readEntryOrNull(int offset)
    クラス・ファイル内の指定されたオフセットでインデックスが指定された定数プール・エントリを返します。指定されたオフセットでのインデックスがゼロの場合はnullを返します。
    <T extends PoolEntryPREVIEW>
    T
    readEntryOrNull(int offset, Class<T> cls)
    クラス・ファイル内の指定されたオフセットでインデックスが指定されている特定のタイプの定数プール・エントリを返します。指定されたオフセットでのインデックスがゼロの場合はnullを返します。
    float
    readFloat(int offset)
    クラス・ファイル内で指定されたオフセットにあるfloat値を返します。
    int
    readInt(int offset)
    クラス・ファイル内で指定されたオフセットにある符号付き整数を返します。
    long
    readLong(int offset)
    クラス・ファイル内の指定されたオフセットで符号付き長を返します。
    クラス・ファイル内で指定されたオフセットでインデックスが指定されたメソッド・ハンドル・エントリを返します。
    readModuleEntry(int offset)
    クラス・ファイル内で指定されたオフセットでインデックスが指定されたモジュール・エントリを返します。
    クラス・ファイル内で指定されたオフセットでインデックスが指定された名前とタイプのエントリを返します。
    readPackageEntry(int offset)
    クラス・ファイル内で指定されたオフセットでインデックスが指定されたパッケージ・エントリを返します。
    int
    readS1(int offset)
    クラス・ファイル内の指定されたオフセットにある符号付きバイトを返します。
    int
    readS2(int offset)
    クラス・ファイル内の指定されたオフセットにある符号付きバイトを返します。
    int
    readU1(int offset)
    クラス・ファイル内の指定されたオフセットにある符号なしバイトを返します。
    int
    readU2(int offset)
    クラス・ファイル内で指定されたオフセットにある符号なしshortを返します。
    readUtf8Entry(int offset)
    クラス・ファイル内で指定されたオフセットで索引が指定されたUTF8エントリを返します。
    readUtf8EntryOrNull(int offset)
    クラス・ファイル内の指定されたオフセットで索引が指定されたUTF8エントリを返します。指定されたオフセットで索引がゼロの場合はnullを返します。
    スーパークラスの名前を記述する定数プール・エントリ(存在する場合)を返します。
    クラスの名前を記述する定数プール・エントリを返します。

    インタフェースjava.lang.classfile.constantpool.ConstantPoolPREVIEWで宣言されたメソッド

    bootstrapMethodCount, bootstrapMethodEntry, entryByIndex, entryByIndex, iterator, size

    インタフェースjava.lang.Iterableで宣言されたメソッド

    forEach, spliterator
  • メソッドの詳細

    • customAttributes

      カスタム属性マッパーの表を返します。 これは、処理オプションClassFile.AttributeMapperOptionPREVIEWから導出されます。
      戻り値:
      カスタム属性マッパーの表
    • flags

      int flags()
      クラスのアクセス・フラグをビット・マスクとして返します。
      戻り値:
      クラスのアクセス・フラグ(ビット・マスク)
    • thisClassEntry

      ClassEntryPREVIEW thisClassEntry()
      クラスの名前を記述する定数プール・エントリを返します。
      戻り値:
      クラスの名前を記述する定数プール・エントリ
    • superclassEntry

      Optional<ClassEntryPREVIEW> superclassEntry()
      スーパークラスの名前を記述する定数プール・エントリ(存在する場合)を返します。
      戻り値:
      スーパークラスの名前を記述する定数プール・エントリ(存在する場合)
    • classfileLength

      int classfileLength()
      クラス・ファイルの長さをバイト単位で返します。
      戻り値:
      クラス・ファイルの長さ(バイト単位)
    • readEntry

      PoolEntryPREVIEW readEntry(int offset)
      クラス・ファイル内で指定されたオフセットでインデックスが指定された定数プール・エントリを返します。
      APIのノート:
      特定のタイプのエントリのみが必要な場合は、readEntry(int, Class)を使用します。
      パラメータ:
      offset - クラス・ファイル内のインデックスのオフセット
      戻り値:
      クラス・ファイル内の指定されたオフセットでインデックスが指定された定数プール・エントリ
      例外:
      ConstantPoolExceptionPREVIEW - 索引が定数プール・サイズの範囲外である場合、またはゼロの場合
    • readEntry

      <T extends PoolEntryPREVIEW> T readEntry(int offset, Class<T> cls)
      指定された型の定数プール・エントリを返します。その索引は、クラス・ファイル内の指定されたオフセットで指定されます。
      型パラメータ:
      T - 入力タイプ
      パラメータ:
      offset - クラス・ファイル内のインデックスのオフセット
      cls - 入力タイプ
      戻り値:
      クラス・ファイル内で指定されたオフセットでインデックスが指定されている、指定されたタイプの定数プール・エントリ
      例外:
      ConstantPoolExceptionPREVIEW - 索引が定数プール・サイズの範囲外であるか、ゼロであるか、またはエントリが指定のタイプでない場合
    • readEntryOrNull

      PoolEntryPREVIEW readEntryOrNull(int offset)
      クラス・ファイル内の指定されたオフセットでインデックスが指定された定数プール・エントリを返します。指定されたオフセットでのインデックスがゼロの場合はnullを返します。
      APIのノート:
      特定のタイプのエントリのみが必要な場合は、readEntryOrNull(int, Class)を使用します。
      パラメータ:
      offset - クラス・ファイル内のインデックスのオフセット
      戻り値:
      クラス・ファイル内の指定されたオフセットでインデックスが指定されている定数プール・エントリ、または指定されたオフセットでのインデックスがゼロの場合はnull
      例外:
      ConstantPoolExceptionPREVIEW - 索引が定数プール・サイズの範囲外である場合
    • readEntryOrNull

      <T extends PoolEntryPREVIEW> T readEntryOrNull(int offset, Class<T> cls)
      クラス・ファイル内の指定されたオフセットでインデックスが指定されている特定のタイプの定数プール・エントリを返します。指定されたオフセットでのインデックスがゼロの場合はnullを返します。
      型パラメータ:
      T - 入力タイプ
      パラメータ:
      offset - クラス・ファイル内のインデックスのオフセット
      cls - 入力タイプ
      戻り値:
      クラス・ファイル内の指定されたオフセットでインデックスが指定されている特定の型の定数プール・エントリ。指定されたオフセットでのインデックスがゼロの場合はNULL
      例外:
      ConstantPoolExceptionPREVIEW - 索引が定数プール・サイズの範囲外であるか、ゼロであるか、またはエントリが指定のタイプでない場合
      導入されたバージョン:
      23
    • readUtf8Entry

      Utf8EntryPREVIEW readUtf8Entry(int offset)
      クラス・ファイル内で指定されたオフセットで索引が指定されたUTF8エントリを返します。
      パラメータ:
      offset - クラス・ファイル内のインデックスのオフセット
      戻り値:
      クラス・ファイル内で指定されたオフセットで索引が指定されたUTF8エントリ
      例外:
      ConstantPoolExceptionPREVIEW - 索引が定数プール・サイズの範囲外であるか、ゼロであるか、または索引がUTF8エントリに対応していない場合
    • readUtf8EntryOrNull

      Utf8EntryPREVIEW readUtf8EntryOrNull(int offset)
      クラス・ファイル内の指定されたオフセットで索引が指定されたUTF8エントリを返します。指定されたオフセットで索引がゼロの場合はnullを返します。
      パラメータ:
      offset - クラス・ファイル内のインデックスのオフセット
      戻り値:
      クラス・ファイル内の指定されたオフセットで索引が指定されたUTF8エントリ、または指定されたオフセットでの索引がゼロの場合はnull
      例外:
      ConstantPoolExceptionPREVIEW - 索引が定数プール・サイズの範囲外であるか、索引がUTF8エントリに対応していない場合
    • readModuleEntry

      ModuleEntryPREVIEW readModuleEntry(int offset)
      クラス・ファイル内で指定されたオフセットでインデックスが指定されたモジュール・エントリを返します。
      パラメータ:
      offset - クラス・ファイル内のインデックスのオフセット
      戻り値:
      クラス・ファイル内で指定されたオフセットでインデックスが指定されたモジュール・エントリ
      例外:
      ConstantPoolExceptionPREVIEW - 索引が定数プール・サイズの範囲外であるか、ゼロであるか、または索引がモジュール・エントリに対応していない場合
    • readPackageEntry

      PackageEntryPREVIEW readPackageEntry(int offset)
      クラス・ファイル内で指定されたオフセットでインデックスが指定されたパッケージ・エントリを返します。
      パラメータ:
      offset - クラス・ファイル内のインデックスのオフセット
      戻り値:
      クラス・ファイル内で指定されたオフセットでインデックスが指定されたパッケージ・エントリ
      例外:
      ConstantPoolExceptionPREVIEW - 索引が定数プール・サイズの範囲外であるか、ゼロであるか、または索引がパッケージ・エントリに対応していない場合
    • readClassEntry

      ClassEntryPREVIEW readClassEntry(int offset)
      クラス・ファイル内で指定されたオフセットでインデックスが指定されたクラス・エントリを返します。
      パラメータ:
      offset - クラス・ファイル内のインデックスのオフセット
      戻り値:
      クラス・ファイル内で指定されたオフセットでインデックスが指定されたクラス・エントリ
      例外:
      ConstantPoolExceptionPREVIEW - 索引が定数プール・サイズの範囲外であるか、ゼロであるか、または索引がクラス・エントリに対応していない場合
    • readNameAndTypeEntry

      NameAndTypeEntryPREVIEW readNameAndTypeEntry(int offset)
      クラス・ファイル内で指定されたオフセットでインデックスが指定された名前とタイプのエントリを返します。
      パラメータ:
      offset - クラス・ファイル内のインデックスのオフセット
      戻り値:
      クラス・ファイル内の指定されたオフセットでインデックスが指定された名前と型のエントリ
      例外:
      ConstantPoolExceptionPREVIEW - 索引が定数プール・サイズの範囲外であるか、ゼロであるか、または索引が名前とタイプのエントリに対応していない場合
    • readMethodHandleEntry

      MethodHandleEntryPREVIEW readMethodHandleEntry(int offset)
      クラス・ファイル内で指定されたオフセットでインデックスが指定されたメソッド・ハンドル・エントリを返します。
      パラメータ:
      offset - クラス・ファイル内のインデックスのオフセット
      戻り値:
      クラス・ファイル内で指定されたオフセットでインデックスが指定されたメソッド・ハンドル・エントリ
      例外:
      ConstantPoolExceptionPREVIEW - 索引が定数プール・サイズの範囲外であるか、ゼロであるか、または索引がメソッド・ハンドル・エントリに対応していない場合
    • readU1

      int readU1(int offset)
      クラス・ファイル内の指定されたオフセットにある符号なしバイトを返します。
      パラメータ:
      offset - クラス・ファイル内のオフセット
      戻り値:
      クラス・ファイル内で指定されたオフセットにある符号なしバイト
    • readU2

      int readU2(int offset)
      クラス・ファイル内で指定されたオフセットにある符号なしshortを返します。
      パラメータ:
      offset - クラス・ファイル内のオフセット
      戻り値:
      クラス・ファイル内で指定されたオフセットにある符号なしshort
    • readS1

      int readS1(int offset)
      クラス・ファイル内の指定されたオフセットにある符号付きバイトを返します。
      パラメータ:
      offset - クラス・ファイル内のオフセット
      戻り値:
      クラス・ファイル内で指定されたオフセットにある符号付きバイト
    • readS2

      int readS2(int offset)
      クラス・ファイル内の指定されたオフセットにある符号付きバイトを返します。
      パラメータ:
      offset - クラス・ファイル内のオフセット
      戻り値:
      クラス・ファイル内で指定されたオフセットにある符号付きバイト
    • readInt

      int readInt(int offset)
      クラス・ファイル内で指定されたオフセットにある符号付き整数を返します。
      パラメータ:
      offset - クラス・ファイル内のオフセット
      戻り値:
      クラス・ファイル内で指定されたオフセットにある符号付きint
    • readLong

      long readLong(int offset)
      クラス・ファイル内の指定されたオフセットで符号付き長を返します。
      パラメータ:
      offset - クラス・ファイル内のオフセット
      戻り値:
      クラス・ファイル内の指定されたオフセットでの符号付きlong
    • readFloat

      float readFloat(int offset)
      クラス・ファイル内で指定されたオフセットにあるfloat値を返します。
      パラメータ:
      offset - クラス・ファイル内のオフセット
      戻り値:
      クラス・ファイル内で指定されたオフセットにあるfloat値
    • readDouble

      double readDouble(int offset)
      クラス・ファイル内で指定されたオフセットにあるdouble値を返します。
      パラメータ:
      offset - クラス・ファイル内のオフセット
      戻り値:
      クラス・ファイル内で指定されたオフセットにあるdouble値
    • readBytes

      byte[] readBytes(int offset, int len)
      クラス・ファイルの指定された範囲にあるバイトのコピーを返します。
      パラメータ:
      offset - クラス・ファイル内のオフセット
      len - 範囲の長さ
      戻り値:
      クラス・ファイル内の指定された範囲にあるバイトのコピー
    • copyBytesTo

      void copyBytesTo(BufWriterPREVIEW buf, int offset, int len)
      クラス・ファイルからBufWriterPREVIEWへのバイト範囲のコピー
      パラメータ:
      buf - the BufWriterPREVIEW
      offset - クラス・ファイル内のオフセット
      len - 範囲の長さ
    • compare

      boolean compare(BufWriterPREVIEW bufWriter, int bufWriterOffset, int classReaderOffset, int length)
      クラス・ファイルのバイト範囲を、BufWriterPREVIEW内のバイト範囲と比較します。
      パラメータ:
      bufWriter - the BufWriterPREVIEW
      bufWriterOffset - BufWriterPREVIEW内のオフセット
      classReaderOffset - クラス・ファイル内のオフセット
      length - 範囲の長さ
      戻り値:
      2つの範囲が同じかどうか