列挙型クラス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
- 関連項目:
-
ネストされたクラスのサマリー
Enumクラスで宣言されたネストされたクラス/インタフェース
Enum.EnumDesc<E> -
列挙型定数のサマリー
列挙型定数列挙型定数説明classファイルの変換時に新しい定数プールを作成します。classファイルを変換するときに、元の定数プールから新しい定数プールを拡張します。 -
メソッドのサマリー
修飾子と型メソッド説明指定された名前を持つこのクラスのenum定数を返します。static ClassFile.ConstantPoolSharingOption[]values()この列挙クラスの定数を含む配列を宣言されている順序で 返します。Enumクラスで宣言されたメソッド
clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf修飾子と型メソッド説明protected final Objectclone()CloneNotSupportedExceptionをスローします。final intこのenumと指定されたオブジェクトの順序を比較します。このインスタンスの列挙型記述子EnumDescを返します(作成可能な場合)。作成できない場合は空のOptionalを返します。final boolean指定されたオブジェクトがこのenum定数と同じ場合は、trueを返します。protected final voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は削除のために非推奨になりました。このenum定数のenum型に対応するClassオブジェクトを返します。final inthashCode()このenum定数のハッシュ・コードを返します。final Stringname()enum宣言で宣言されているとおりのenum定数の名前を返します。final intordinal()列挙定数の序数(列挙宣言での位置。初期定数はゼロの序数に割り当てられる)を返します。toString()宣言に含まれるとおりのenum定数の名前を返します。static <T extends Enum<T>>
T指定された名前の指定されたenumクラスのenum定数を返します。クラスオブジェクトで宣言されたメソッド
getClass, notify, notifyAll, wait, wait, wait修飾子と型メソッド説明final Class<?> getClass()このObjectの実行時クラスを返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
-
列挙型定数の詳細
-
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の場合
-