インタフェースClassReader
- すべてのスーパー・インタフェース:
ConstantPool
,Iterable<PoolEntry>
public sealed interface ClassReader extends ConstantPool
AttributeMapper
の高度なclass
ファイル読取りサポート。 class
ファイル内の任意のオフセットを読み取り、一定のプール・アクセスに加えて様々な数値型(e.g., u2
, u4
)のデータを読み取ることをサポートします。
class
ファイル形式のすべての数値は、「ビッグ・エンディアン」です。
特に指定がないかぎり、すべての範囲外アクセスの結果は、class
ファイル・データの形式が不正であることを示すIllegalArgumentException
になります。 class
ファイル・データは任意であるため、ユーザーは、不正な形式のデータの解釈を試行する前に、データの構造的整合性を妥当性チェックする必要があります。
- 導入されたバージョン:
- 24
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明int
class
ファイルの長さをバイト数で返します。void
copyBytesTo
(BufWriter buf, int offset, int len) class
ファイルからBufWriter
にバイト範囲をコピーします。カスタム属性マッパーの表を返します。int
flags()
クラスのアクセス・フラグをビット・マスクとして返します。byte[]
readBytes
(int offset, int len) class
ファイルの指定された範囲のバイトのコピーを返します。double
readDouble
(int offset) class
ファイル内の指定されたオフセットでdouble値を返します。readEntry
(int offset) class
ファイル内の指定されたオフセットで索引が指定されている定数プール・エントリを返します。<T extends PoolEntry>
Tclass
ファイル内の指定されたオフセットで索引が指定されている特定のタイプの定数プール・エントリを返します。readEntryOrNull
(int offset) class
ファイル内の指定されたオフセットで索引が指定されている定数プール・エントリを返します。指定されたオフセットでの索引がゼロの場合はnull
を返します。<T extends PoolEntry>
TreadEntryOrNull
(int offset, Class<T> cls) class
ファイル内の指定されたオフセットで索引が指定されている特定のタイプの定数プール・エントリを返します。指定されたオフセットでの索引がゼロの場合はnull
を返します。float
readFloat
(int offset) class
ファイル内の指定されたオフセットで浮動小数値を返します。int
readInt
(int offset) class
ファイル内の指定されたオフセットで符号付きintを返します。long
readLong
(int offset) class
ファイル内の指定されたオフセットで符号付きlongを返します。int
readS1
(int offset) class
ファイル内の指定されたオフセットで符号付きバイトを返します。int
readS2
(int offset) class
ファイル内の指定されたオフセットで符号付きバイトを返します。int
readU1
(int offset) class
ファイル内の指定されたオフセットにある符号なしバイトを返します。int
readU2
(int offset) class
ファイル内の指定されたオフセットで符号なしshortを返します。スーパークラスの名前を記述する定数プール・エントリ(存在する場合)を返します。クラスの名前を記述する定数プール・エントリを返します。インタフェースjava.lang.classfile.constantpool.ConstantPoolで宣言されたメソッド
bootstrapMethodCount, bootstrapMethodEntry, entryByIndex, entryByIndex, iterator, size
インタフェースjava.lang.Iterableで宣言されたメソッド
forEach, spliterator
-
メソッドの詳細
-
customAttributes
Function<Utf8Entry, AttributeMapper<?>> customAttributes()カスタム属性マッパーの表を返します。 これは、処理オプションClassFile.AttributeMapperOption
から導出されます。- 戻り値:
- カスタム属性マッパーの表
-
flags
int flags()クラスのアクセス・フラグをビット・マスクとして返します。- 戻り値:
- クラスのアクセス・フラグ(ビット・マスク)
- 関連項目:
-
thisClassEntry
-
superclassEntry
Optional<ClassEntry> superclassEntry()スーパークラスの名前を記述する定数プール・エントリ(存在する場合)を返します。- 戻り値:
- スーパークラスの名前を記述する定数プール・エントリ(存在する場合)
- 関連項目:
-
classfileLength
int classfileLength()class
ファイルの長さをバイト数で返します。- 戻り値:
class
ファイルの長さ(バイト数)
-
readEntry
PoolEntry readEntry(int offset) class
ファイル内の指定されたオフセットで索引が指定されている定数プール・エントリを返します。- APIのノート:
- 特定のタイプのエントリのみが必要な場合は、
readEntry(int, Class)
を使用します。 - パラメータ:
offset
-class
ファイル内の索引のオフセット- 戻り値:
class
ファイル内の指定されたオフセットで索引が指定されている定数プール・エントリ- スロー:
ConstantPoolException
- 索引が定数プール・サイズの範囲外である場合、またはゼロの場合
-
readEntry
class
ファイル内の指定されたオフセットで索引が指定されている特定のタイプの定数プール・エントリを返します。- 型パラメータ:
T
- 入力タイプ- パラメータ:
offset
-class
ファイル内の索引のオフセットcls
- 入力タイプ- 戻り値:
class
ファイル内で指定されたオフセットで索引が指定されている特定のタイプの定数プール・エントリ- スロー:
ConstantPoolException
- 索引が定数プール・サイズの範囲外であるか、ゼロであるか、またはエントリが指定のタイプでない場合
-
readEntryOrNull
PoolEntry readEntryOrNull(int offset) class
ファイル内の指定されたオフセットで索引が指定されている定数プール・エントリを返します。指定されたオフセットでの索引がゼロの場合はnull
を返します。- APIのノート:
- 特定のタイプのエントリのみが必要な場合は、
readEntryOrNull(int, Class)
を使用します。 - パラメータ:
offset
-class
ファイル内の索引のオフセット- 戻り値:
class
ファイル内の指定されたオフセットで索引が指定されている定数プール・エントリ、または指定されたオフセットでの索引がゼロの場合はnull
- スロー:
ConstantPoolException
- 索引が定数プール・サイズの範囲外である場合
-
readEntryOrNull
class
ファイル内の指定されたオフセットで索引が指定されている特定のタイプの定数プール・エントリを返します。指定されたオフセットでの索引がゼロの場合はnull
を返します。- 型パラメータ:
T
- 入力タイプ- パラメータ:
offset
-class
ファイル内の索引のオフセットcls
- 入力タイプ- 戻り値:
class
ファイル内の指定されたオフセットで索引が指定されている特定のタイプの定数プール・エントリ、または指定されたオフセットでの索引がゼロの場合はnull
- スロー:
ConstantPoolException
- 索引が定数プール・サイズの範囲外であるか、ゼロであるか、またはエントリが指定のタイプでない場合
-
readU1
int readU1(int offset) class
ファイル内の指定されたオフセットにある符号なしバイトを返します。 バイトを読み取り、ゼロでint
に拡張します。- パラメータ:
offset
-class
ファイル内のオフセット- 戻り値:
class
ファイル内で指定されたオフセットにある符号なしバイト
-
readU2
int readU2(int offset) class
ファイル内の指定されたオフセットで符号なしshortを返します。 2バイトの値を読み取り、ゼロでint
に拡張します。- パラメータ:
offset
-class
ファイル内のオフセット- 戻り値:
class
ファイル内で指定されたオフセットにある符号なしshort
-
readS1
int readS1(int offset) class
ファイル内の指定されたオフセットで符号付きバイトを返します。 バイトを読み取り、それをint
に署名します。- パラメータ:
offset
-class
ファイル内のオフセット- 戻り値:
class
ファイル内の指定されたオフセットにある署名付きバイト
-
readS2
int readS2(int offset) class
ファイル内の指定されたオフセットで符号付きバイトを返します。 2バイト値を読み取り、それをint
に署名します。- パラメータ:
offset
-class
ファイル内のオフセット- 戻り値:
class
ファイル内の指定されたオフセットにある署名付きバイト
-
readInt
int readInt(int offset) class
ファイル内の指定されたオフセットで符号付きintを返します。 4バイトの値を読み取ります。- パラメータ:
offset
-class
ファイル内のオフセット- 戻り値:
class
ファイル内の指定されたオフセットにある符号付きint
-
readLong
long readLong(int offset) class
ファイル内の指定されたオフセットで符号付きlongを返します。 8バイトの値を読み取ります。- パラメータ:
offset
-class
ファイル内のオフセット- 戻り値:
class
ファイル内の指定されたオフセットでの符号付きlong
-
readFloat
float readFloat(int offset) class
ファイル内の指定されたオフセットで浮動小数値を返します。 4バイトの値を読み取ります。変換では、
float
のすべてのNaN値を1つの「"canonical" NaN値」に縮小できる場合とできない場合があります。- パラメータ:
offset
-class
ファイル内のオフセット- 戻り値:
class
ファイル内で指定されたオフセットにあるfloat値
-
readDouble
double readDouble(int offset) class
ファイル内の指定されたオフセットでdouble値を返します。 8バイトの値を読み取ります。変換では、
double
のすべてのNaN値を1つの「"canonical" NaN値」に縮小できる場合とできない場合があります。- パラメータ:
offset
-class
ファイル内のオフセット- 戻り値:
class
ファイル内の指定されたオフセットでのdouble値
-
readBytes
byte[] readBytes(int offset, int len) class
ファイルの指定された範囲のバイトのコピーを返します。- パラメータ:
offset
-class
ファイル内のオフセットlen
- 範囲の長さ- 戻り値:
class
ファイルの指定された範囲のバイトのコピー
-
copyBytesTo
-