インタフェースClassModel
- すべてのスーパー・インタフェース:
AttributedElement, ClassFileElement, CompoundElement<ClassElement>, Iterable<ClassElement>
public sealed interface ClassModel extends CompoundElement<ClassElement>, AttributedElement
classファイルをモデル化します。 classファイルは、ClassElementの「組成」として表示することも、 classファイルの特定の部分のみが必要な場合はアクセッサ・メソッドを介してランダムにアクセスすることもできます。
ClassFile.parse(byte[])を使用して、 classファイルのバイナリ・データをモデルに解析し、ClassModelを取得します。
classファイルを作成するには、ClassFile.build(ClassDesc, Consumer)を使用します。 ClassFile.transformClass(ClassModel, ClassTransform)では、元のクラス要素を選択的に処理し、結果をクラス・ビルダーに指示することで、新しいクラスを作成できます。
クラスは属性を保持し、そのほとんどはメンバー要素としてアクセスできます。 BootstrapMethodsAttributeは、「定数プール」の一部としてモデル化されるため、「明示的な属性読み取り」を介してのみアクセスできます。
- Java Virtual Machine仕様を参照してください:
-
4.1
ClassFile構造 - 導入されたバージョン:
- 24
- 関連項目:
-
メソッドのサマリー
インタフェースで宣言されたメソッド AttributedElement
attributes, findAttribute, findAttributes修飾子と型メソッド説明この構造の属性を返します。findAttribute(AttributeMapper<T> attr) 名前で属性を検索します。findAttributes(AttributeMapper<T> attr) 名前で属性を検索します。インタフェースで宣言されたメソッド CompoundElement
elementList, elementStream, forEach, iterator, toDebugString修飾子と型メソッド説明default List<ClassElement> この複合要素のすべてのメンバー要素を含むListを返します。default Stream<ClassElement> この複合要素のすべてのメンバー要素を含むStreamを返します。voidforEach(Consumer<? super ClassElement> consumer) この複合要素の各メンバー要素を使用して、指定されたハンドラを起動します。default Iterator<ClassElement> iterator()この複合要素のすべてのメンバー要素を記述するIteratorを返します。default Stringデバッグ目的で複合要素とその内容のテキスト表現を返します。インタフェースIterableで宣言されたメソッド
spliterator
-
メソッドの詳細
-
constantPool
-
flags
-
thisClass
-
majorVersion
-
minorVersion
-
fields
-
methods
-
superclass
Optional<ClassEntry> superclass()このクラスのスーパークラス(存在する場合)を返します。 「モジュール記述子」またはObjectクラスを表す場合、このclassファイルにはスーパークラスがない可能性があります。それ以外の場合は、スーパークラスが必要です。 これがインタフェースの場合、スーパークラスはObjectである必要があります。- 戻り値:
- このクラスのスーパークラス(ある場合)
- 関連項目:
-
interfaces
-
isModuleInfo
boolean isModuleInfo()このclassファイルがモジュール記述子かどうかを返します。- 戻り値:
- この
classファイルがモジュール記述子かどうか - 関連項目:
-