列挙型クラスClassFile.ConstantPoolSharingOption
java.lang.Object
java.lang.Enum<ClassFile.ConstantPoolSharingOption>
java.lang.classfile.ClassFile.ConstantPoolSharingOption
- すべての実装されたインタフェース:
Serializable
,ClassFile.Option
,Comparable<ClassFile.ConstantPoolSharingOption>
,Constable
- 含まれているインタフェース:
ClassFile
public static enum ClassFile.ConstantPoolSharingOption extends Enum<ClassFile.ConstantPoolSharingOption> implements ClassFile.Option
class
ファイルの変換時に元の定数プールから拡張するかどうかを示すオプション。 デフォルトはSHARED_POOL
で、元の定数プールから拡張されます。
このオプションは、transformClass
のすべてのオーバーロードに影響します。 元の定数プールから拡張すると、索引は定数プールにそのまま保持されるため、処理時間の大幅な最適化が可能になり、元の class
ファイルと変換された class
ファイルの差異が最小限に抑えられますが、元のclass
ファイルの多くの要素が削除され、元の定数プール・エントリの多くが使用されなくなると、変換されたclass
ファイルが大きくなる可能性があります。
このオプションのかわりに、ClassFile.build(ClassEntry, ConstantPoolBuilder, Consumer)
を直接使用します。 任意の定数プールからの拡張が可能で、ビルドされたclass
ファイルが複数の元のclass
ファイルの構造を再利用する場合に便利です。
- 導入されたバージョン:
- 24
- 関連項目:
-
ネストされたクラスのサマリー
クラスjava.lang.Enumで宣言されたネストされたクラス/インタフェース
Enum.EnumDesc<E extends Enum<E>>
-
列挙型定数のサマリー
列挙型定数列挙型定数説明class
ファイルの変換時に新しい定数プールを作成します。class
ファイルを変換するときに、元の定数プールから新しい定数プールを拡張します。 -
メソッドのサマリー
修飾子と型メソッド説明指定された名前を持つこのクラスのenum定数を返します。static ClassFile.ConstantPoolSharingOption[]
values()
この列挙クラスの定数を含む配列を宣言されている順序で 返します。
-
列挙型定数の詳細
-
SHARED_POOL
public static final ClassFile.ConstantPoolSharingOption SHARED_POOLclass
ファイルを変換するときに、元の定数プールから新しい定数プールを拡張します。次の2つの変換は同等です:
ClassModel originalClass = ... ClassDesc resultClassName = ... ClassTransform classTransform = ... var resultOne = ClassFile.of(ConstantPoolSharingOption.SHARED_POOL) .transformClass(originalClass, resultClassName, classTransform); var resultTwo = ClassFile.of().build(resultClassName, ConstantPoolBuilder.of(originalClass), clb -> clb.transform(originalClass, classTransform));
- 関連項目:
-
NEW_POOL
public static final ClassFile.ConstantPoolSharingOption NEW_POOLclass
ファイルの変換時に新しい定数プールを作成します。次の2つの変換は同等です:
ClassModel originalClass = ... ClassDesc resultClassName = ... ClassTransform classTransform = ... var resultOne = ClassFile.of(ConstantPoolSharingOption.NEW_POOL) .transformClass(originalClass, resultClassName, classTransform); var resultTwo = ClassFile.of().build(resultClassName, ConstantPoolBuilder.of(), clb -> clb.transform(originalClass, classTransform));
- 関連項目:
-
-
メソッドの詳細
-
values
public static ClassFile.ConstantPoolSharingOption[] values()この列挙クラスの定数を含む配列を宣言されている順序で 返します。- 戻り値:
- この列挙クラスの定数を宣言されている順序で含む配列
-
valueOf
public static ClassFile.ConstantPoolSharingOption valueOf(String name) 指定された名前を持つこのクラスのenum定数を返します。 文字列は、このクラスでenum定数を宣言するために使用される識別子と正確に一致する必要があります。 (不適切な空白文字は許可されません。)- パラメータ:
name
- 返される列挙型定数の名前。- 戻り値:
- 指定された名前を持つ列挙型定数
- スロー:
IllegalArgumentException
- この列挙型クラスに指定された名前の定数がない場合NullPointerException
- 引数がnullの場合
-