- すべてのスーパー・インタフェース:
ClassFileBuilderPREVIEW<ClassElementPREVIEW,,ClassBuilderPREVIEW> Consumer<ClassElementPREVIEW>
public sealed interface ClassBuilder extends ClassFileBuilderPREVIEW<ClassElementPREVIEW,ClassBuilderPREVIEW>
ClassBuilderは、JavaプラットフォームのプレビューAPIです。
プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
クラス・ファイルのビルダー。 ビルダーは直接作成されず、
ClassFile.build(ClassDesc, Consumer)PREVIEWなどのメソッドによってハンドラに渡されるか、クラス変換に渡されます。 クラス・ファイルの要素は、抽象的に(ClassElementPREVIEWをClassFileBuilder.with(ClassFileElement)PREVIEWに渡す)で指定することも、様々なwithXxxメソッドをコールして具体的に指定することもできます。 - 導入されたバージョン:
- 22
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明original()このクラス・ビルダーが一部のClassModelPREVIEWの変換を表す場合、変換されるクラスを表すClassModelPREVIEWを返します。transformField(FieldModelPREVIEW field, FieldTransformPREVIEW transform) フィールドを別のクラスから変換してフィールドを追加します。transformMethod(MethodModelPREVIEW method, MethodTransformPREVIEW transform) 別のクラスからメソッドを変換してメソッドを追加します。default ClassBuilderPREVIEWフィールドを追加しますwithField(Utf8EntryPREVIEW name, Utf8EntryPREVIEW descriptor, Consumer<? super FieldBuilderPREVIEW> handler) フィールドを追加しますdefault ClassBuilderPREVIEWフィールドを追加しますdefault ClassBuilderPREVIEWフィールドを追加しますdefault ClassBuilderPREVIEWwithFlags(int flags) クラス・ファイル・アクセス・フラグを設定します。default ClassBuilderPREVIEWwithFlags(AccessFlag... flags) クラス・ファイル・アクセス・フラグを設定します。default ClassBuilderPREVIEWwithInterfaces(ClassEntryPREVIEW... interfaces) このクラスのインタフェースを設定します。default ClassBuilderPREVIEWwithInterfaces(List<ClassEntryPREVIEW> interfaces) このクラスのインタフェースを設定します。default ClassBuilderPREVIEWwithInterfaceSymbols(ClassDesc... interfaces) このクラスのインタフェースを設定します。default ClassBuilderPREVIEWwithInterfaceSymbols(List<ClassDesc> interfaces) このクラスのインタフェースを設定します。withMethod(Utf8EntryPREVIEW name, Utf8EntryPREVIEW descriptor, int methodFlags, Consumer<? super MethodBuilderPREVIEW> handler) メソッドを追加します。default ClassBuilderPREVIEWwithMethod(String name, MethodTypeDesc descriptor, int methodFlags, Consumer<? super MethodBuilderPREVIEW> handler) メソッドを追加します。default ClassBuilderPREVIEWwithMethodBody(Utf8EntryPREVIEW name, Utf8EntryPREVIEW descriptor, int methodFlags, Consumer<? super CodeBuilderPREVIEW> handler) Code属性のみを持つメソッドを追加します。default ClassBuilderPREVIEWwithMethodBody(String name, MethodTypeDesc descriptor, int methodFlags, Consumer<? super CodeBuilderPREVIEW> handler) CodeAttributePREVIEWのみを含むメソッドを追加します。default ClassBuilderPREVIEWwithSuperclass(ClassEntryPREVIEW superclassEntry) このクラスのスーパークラスを設定します。default ClassBuilderPREVIEWwithSuperclass(ClassDesc desc) このクラスのスーパークラスを設定します。default ClassBuilderPREVIEWwithVersion(int major, int minor) クラス・ファイルのバージョンを設定します。インタフェースjava.lang.classfile.ClassFileBuilderPREVIEWで宣言されたメソッド
accept, canWriteDirect, constantPool, transform, with
-
メソッドの詳細
-
original
Optional<ClassModelPREVIEW> original()このクラス・ビルダーが一部のClassModelPREVIEWの変換を表す場合、変換されるクラスを表すClassModelPREVIEWを返します。- 戻り値:
- このクラス・ビルダーが一部の
ClassModelPREVIEWの変換を表す場合、変換されるクラスを表すClassModelPREVIEW
-
withVersion
default ClassBuilderPREVIEW withVersion(int major, int minor) クラス・ファイルのバージョンを設定します。- パラメータ:
major- メジャー・バージョン番号minor- マイナー・バージョン番号- 戻り値:
- このビルダー
-
withFlags
default ClassBuilderPREVIEW withFlags(int flags) クラス・ファイル・アクセス・フラグを設定します。- パラメータ:
flags- ビット・マスクとしてのアクセス・フラグ- 戻り値:
- このビルダー
-
withFlags
default ClassBuilderPREVIEW withFlags(AccessFlag... flags) クラス・ファイル・アクセス・フラグを設定します。- パラメータ:
flags- アクセス・フラグ- 戻り値:
- このビルダー
-
withSuperclass
default ClassBuilderPREVIEW withSuperclass(ClassEntryPREVIEW superclassEntry) このクラスのスーパークラスを設定します。- パラメータ:
superclassEntry- スーパークラス- 戻り値:
- このビルダー
-
withSuperclass
default ClassBuilderPREVIEW withSuperclass(ClassDesc desc) このクラスのスーパークラスを設定します。- パラメータ:
desc- スーパークラス- 戻り値:
- このビルダー
- 例外:
IllegalArgumentException-descがプリミティブ型を表す場合
-
withInterfaces
default ClassBuilderPREVIEW withInterfaces(List<ClassEntryPREVIEW> interfaces) このクラスのインタフェースを設定します。- パラメータ:
interfaces- インタフェース- 戻り値:
- このビルダー
-
withInterfaces
default ClassBuilderPREVIEW withInterfaces(ClassEntryPREVIEW... interfaces) このクラスのインタフェースを設定します。- パラメータ:
interfaces- インタフェース- 戻り値:
- このビルダー
-
withInterfaceSymbols
default ClassBuilderPREVIEW withInterfaceSymbols(List<ClassDesc> interfaces) このクラスのインタフェースを設定します。- パラメータ:
interfaces- インタフェース- 戻り値:
- このビルダー
-
withInterfaceSymbols
default ClassBuilderPREVIEW withInterfaceSymbols(ClassDesc... interfaces) このクラスのインタフェースを設定します。- パラメータ:
interfaces- インタフェース- 戻り値:
- このビルダー
-
withField
ClassBuilderPREVIEW withField(Utf8EntryPREVIEW name, Utf8EntryPREVIEW descriptor, Consumer<? super FieldBuilderPREVIEW> handler) フィールドを追加します- パラメータ:
name- フィールドの名前descriptor- フィールド記述子handler- フィールドの内容をさらに定義できるFieldBuilderPREVIEWを受け取るハンドラ- 戻り値:
- このビルダー
-
withField
-
withField
default ClassBuilderPREVIEW withField(String name, ClassDesc descriptor, Consumer<? super FieldBuilderPREVIEW> handler) フィールドを追加します- パラメータ:
name- フィールドの名前descriptor- フィールド記述子handler- フィールドの内容をさらに定義できるFieldBuilderPREVIEWを受け取るハンドラ- 戻り値:
- このビルダー
-
withField
default ClassBuilderPREVIEW withField(String name, ClassDesc descriptor, int flags) フィールドを追加します- パラメータ:
name- フィールドの名前descriptor- フィールド記述子flags- このフィールドのアクセス・フラグ- 戻り値:
- このビルダー
-
transformField
ClassBuilderPREVIEW transformField(FieldModelPREVIEW field, FieldTransformPREVIEW transform) フィールドを別のクラスから変換してフィールドを追加します。- 実装上のノート:
このメソッドは次のように動作します:
withField(field.fieldName(), field.fieldType(), b -> b.transformField(field, transform));- パラメータ:
field- 変換するフィールドtransform- フィールドに適用する変換- 戻り値:
- このビルダー
-
withMethod
ClassBuilderPREVIEW withMethod(Utf8EntryPREVIEW name, Utf8EntryPREVIEW descriptor, int methodFlags, Consumer<? super MethodBuilderPREVIEW> handler) メソッドを追加します。- パラメータ:
name- メソッドの名前descriptor- メソッド記述子methodFlags- アクセス・フラグhandler- メソッドの内容をさらに定義できるMethodBuilderPREVIEWを受け取るハンドラ- 戻り値:
- このビルダー
-
withMethodBody
default ClassBuilderPREVIEW withMethodBody(Utf8EntryPREVIEW name, Utf8EntryPREVIEW descriptor, int methodFlags, Consumer<? super CodeBuilderPREVIEW> handler) Code属性のみを持つメソッドを追加します。- パラメータ:
name- メソッドの名前descriptor- メソッド記述子methodFlags- アクセス・フラグhandler- メソッド本文の内容を定義できるCodeBuilderPREVIEWを受け取るハンドラ- 戻り値:
- このビルダー
-
withMethod
default ClassBuilderPREVIEW withMethod(String name, MethodTypeDesc descriptor, int methodFlags, Consumer<? super MethodBuilderPREVIEW> handler) メソッドを追加します。- パラメータ:
name- メソッドの名前descriptor- メソッド記述子methodFlags- アクセス・フラグhandler- メソッドの内容をさらに定義できるMethodBuilderPREVIEWを受け取るハンドラ- 戻り値:
- このビルダー
-
withMethodBody
default ClassBuilderPREVIEW withMethodBody(String name, MethodTypeDesc descriptor, int methodFlags, Consumer<? super CodeBuilderPREVIEW> handler) CodeAttributePREVIEWのみを含むメソッドを追加します。- パラメータ:
name- メソッドの名前descriptor- メソッド記述子methodFlags- アクセス・フラグhandler- メソッド本文の内容を定義できるCodeBuilderPREVIEWを受け取るハンドラ- 戻り値:
- このビルダー
-
transformMethod
ClassBuilderPREVIEW transformMethod(MethodModelPREVIEW method, MethodTransformPREVIEW transform) 別のクラスからメソッドを変換してメソッドを追加します。- 実装上のノート:
このメソッドは次のように動作します:
withMethod(method.methodName(), method.methodType(), b -> b.transformMethod(method, transform));- パラメータ:
method- 変換されるメソッドtransform- メソッドに適用する変換- 戻り値:
- このビルダー
-
ClassBuilderを使用できます。