モジュール java.base
パッケージ java.lang.reflect

列挙型クラスAccessFlag

java.lang.Object
java.lang.Enum<AccessFlag>
java.lang.reflect.AccessFlag
すべての実装されたインタフェース:
Serializable, Comparable<AccessFlag>, Constable

public enum AccessFlag extends Enum<AccessFlag>
classfieldmethodなどのランタイム・メンバーのJVMアクセスまたはモジュール関連フラグを表します。

JVMアクセスおよびモジュール関連のフラグは、Java言語modifiersに関連付けられていますが、異なります。 一部の修飾子およびアクセス・フラグには、 publicなどの1対1の対応関係があります。 また、sealed (JVMS 4.7.31)などの言語レベルの修飾子にはアクセス・フラグがなく、syntheticなどの対応する修飾子がないアクセス・フラグもあります。

アクセスおよびモジュール・フラグを表す定数の値は、4.1 (クラス・アクセスおよびプロパティ修飾子)、4.5 (フィールド・アクセスおよびプロパティ・フラグ)、4.6 (メソッド・アクセスおよびプロパティ・フラグ)、4.7.6 (ネストされたクラス・アクセスおよびプロパティ・フラグ)、4.7.24 (メソッド・パラメータ)および4.7.25 (モジュール・フラグと必須、エクスポートおよびオープン・フラグ)などの「Java Virtual Machine仕様」のセクションから取得されます。

異なるアクセス・フラグの「マスク」値は異なります。 フラグは異なる種類のJVM構造に対して定義され、同じビット位置は異なるコンテキストで異なる意味を持ちます。 たとえば、0x0000_0040volatileフィールドを示しますが、「ブリッジ・メソッド」 ; 0x0000_0080transientフィールドを示しますが、「変数アリティ (varargs)」メソッドを示します。

APIのノート:
JVMクラス・ファイル形式には、新しい「機能リリース」ごとに「新しいバージョン」が定義されています。 新しいクラス・ファイル・バージョンでは、新しいアクセス・フラグを定義したり、古いアクセス・フラグを廃止できます。 AccessFlagは、クラス・ファイル形式のバージョン間で一連のアクセス・フラグをモデル化することを目的としています。 アクセス・フラグが認識されるバージョンの範囲は、このAPIでは明示的に示されません。 詳細は、現在の「Java Virtual Machine仕様」を参照してください。 特に明記されていないかぎり、アクセス・フラグは「現在のバージョン」で認識されているとみなすことができます。
実装要件:
アクセス・フラグの定数は、減衰しないマスク値によって順序付けされます。つまり、定数のマスク値は、その (構文)の左側にある近傍のマスク値以上です。 新しい定数が追加された場合、このプロパティは維持されます。 つまり、既存のリストの最後に新しい定数が追加されるとは限りません。
導入されたバージョン:
20
関連項目:
  • ネストされたクラスのサマリー

    ネストされたクラス
    修飾子と型
    クラス
    説明
    static enum 
    フラグを適用できるクラス・ファイル内のロケーション。

    クラスjava.lang.Enumで宣言されたネストされたクラス/インタフェース

    Enum.EnumDesc<E extends Enum<E>>
  • 列挙型定数のサマリー

    列挙型定数
    列挙型定数
    説明
    ソース修飾子abstractに対応するアクセス・フラグACC_ABSTRACT。マスク値は0x0400です。
    マスク値が0x2000のアクセス・フラグACC_ANNOTATION
    マスク値が0x0040のアクセス・フラグACC_BRIDGE
    マスク値が0x4000のアクセス・フラグACC_ENUM
    ソース修飾子finalに対応するアクセス・フラグACC_FINAL。マスク値は0x0010です。
    マスク値が0x0200のアクセス・フラグACC_INTERFACE
    マスク値が0x8000のアクセス・フラグACC_MANDATED
    マスク値が 0x8000のアクセス・フラグACC_MODULE
    ソース修飾子nativeに対応するアクセス・フラグACC_NATIVE。マスク値は0x0100です。
    マスク値が 0x0020のモジュール・フラグACC_OPEN
    ソース修飾子privateに対応するアクセス・フラグACC_PRIVATE。マスク値は0x0002です。
    ソース修飾子protectedに対応するアクセス・フラグACC_PROTECTED。マスク値は0x0004です。
    ソース修飾子publicに対応するアクセス・フラグACC_PUBLIC。マスク値は0x0001です。
    ソース修飾子staticに対応するアクセス・フラグACC_STATIC。マスク値は0x0008です。
    モジュールには、マスク値が0x0040のフラグACC_STATIC_PHASEが必要です。
    ソース修飾子strictfpに対応するアクセス・フラグACC_STRICT。マスク値は0x0800です。
    マスク値が 0x0020のアクセス・フラグACC_SUPER
    ソース修飾子synchronizedに対応するアクセス・フラグACC_SYNCHRONIZED。マスク値は0x0020です。
    マスク値が0x1000のアクセス・フラグACC_SYNTHETIC
    ソース修飾子transientに対応するアクセス・フラグACC_TRANSIENT。マスク値は0x0080です。
    モジュールには、マスク値が0x0020のフラグACC_TRANSITIVEが必要です。
    マスク値が0x0080のアクセス・フラグACC_VARARGS
    ソース修飾子volatileに対応するアクセス・フラグACC_VOLATILE。マスク値は0x0040です。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    最新のクラス・ファイル形式バージョンでフラグを適用できる構成の種類を返します。
    指定されたクラス・ファイル形式バージョンでフラグを適用できる構成の種類を返します。
    int
    アクセス・フラグに対応する整数マスクを返します。
    static Set<AccessFlag>
    問題のロケーションに適した特定のマスク値に対する、変更できないアクセス・フラグのセットを返します。
    boolean
    Javaプログラミング言語でフラグに直接対応する修飾子があるかどうかを返します。
    static AccessFlag
    指定された名前を持つこのクラスのenum定数を返します。
    static AccessFlag[]
    この列挙クラスの定数を含む配列を宣言されている順序で 返します。

    クラスjava.lang.Enumで宣言されたメソッド

    clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

    クラスjava.lang.Objectで宣言されたメソッド

    getClass, notify, notifyAll, wait, wait, wait
  • 列挙型定数の詳細

    • PUBLIC

      public static final AccessFlag PUBLIC
      ソース修飾子publicに対応するアクセス・フラグACC_PUBLIC。マスク値は0x0001です。
    • PRIVATE

      public static final AccessFlag PRIVATE
      ソース修飾子privateに対応するアクセス・フラグACC_PRIVATE。マスク値は0x0002です。
    • PROTECTED

      public static final AccessFlag PROTECTED
      ソース修飾子protectedに対応するアクセス・フラグACC_PROTECTED。マスク値は0x0004です。
    • STATIC

      public static final AccessFlag STATIC
      ソース修飾子staticに対応するアクセス・フラグACC_STATIC。マスク値は0x0008です。
    • FINAL

      public static final AccessFlag FINAL
      ソース修飾子finalに対応するアクセス・フラグACC_FINAL。マスク値は0x0010です。
    • SUPER

      public static final AccessFlag SUPER
      マスク値が 0x0020のアクセス・フラグACC_SUPER
      APIのノート:
      Java SE 8以上では、JVMはACC_SUPERフラグをすべてのクラス・ファイル(JVMS 4.1)で設定されたものとして扱います。
    • OPEN

      public static final AccessFlag OPEN
      マスク値が 0x0020のモジュール・フラグACC_OPEN
      関連項目:
    • TRANSITIVE

      public static final AccessFlag TRANSITIVE
      モジュールには、マスク値が0x0020のフラグACC_TRANSITIVEが必要です。
      関連項目:
    • SYNCHRONIZED

      public static final AccessFlag SYNCHRONIZED
      ソース修飾子synchronizedに対応するアクセス・フラグACC_SYNCHRONIZED。マスク値は0x0020です。
    • STATIC_PHASE

      public static final AccessFlag STATIC_PHASE
      モジュールには、マスク値が0x0040のフラグACC_STATIC_PHASEが必要です。
      関連項目:
    • VOLATILE

      public static final AccessFlag VOLATILE
      ソース修飾子volatileに対応するアクセス・フラグACC_VOLATILE。マスク値は0x0040です。
    • BRIDGE

      public static final AccessFlag BRIDGE
      マスク値が0x0040のアクセス・フラグACC_BRIDGE
      関連項目:
    • TRANSIENT

      public static final AccessFlag TRANSIENT
      ソース修飾子transientに対応するアクセス・フラグACC_TRANSIENT。マスク値は0x0080です。
    • VARARGS

      public static final AccessFlag VARARGS
      マスク値が0x0080のアクセス・フラグACC_VARARGS
      関連項目:
    • NATIVE

      public static final AccessFlag NATIVE
      ソース修飾子nativeに対応するアクセス・フラグACC_NATIVE。マスク値は0x0100です。
    • INTERFACE

      public static final AccessFlag INTERFACE
      マスク値が0x0200のアクセス・フラグACC_INTERFACE
      関連項目:
    • ABSTRACT

      public static final AccessFlag ABSTRACT
      ソース修飾子abstractに対応するアクセス・フラグACC_ABSTRACT。マスク値は0x0400です。
    • STRICT

      public static final AccessFlag STRICT
      ソース修飾子strictfpに対応するアクセス・フラグACC_STRICT。マスク値は0x0800です。
      APIのノート:
      ACC_STRICTアクセス・フラグは、Java SE 1.2から16に対応するクラス・ファイル・メジャー・バージョン46から60 ((JVMS 4.6)を含む)に対して定義されています。
    • SYNTHETIC

      public static final AccessFlag SYNTHETIC
      マスク値が0x1000のアクセス・フラグACC_SYNTHETIC
      関連項目:
    • ANNOTATION

      public static final AccessFlag ANNOTATION
      マスク値が0x2000のアクセス・フラグACC_ANNOTATION
      関連項目:
    • ENUM

      public static final AccessFlag ENUM
      マスク値が0x4000のアクセス・フラグACC_ENUM
      関連項目:
    • MANDATED

      public static final AccessFlag MANDATED
      マスク値が0x8000のアクセス・フラグACC_MANDATED
    • MODULE

      public static final AccessFlag MODULE
      マスク値が 0x8000のアクセス・フラグACC_MODULE
  • メソッドの詳細

    • values

      public static AccessFlag[] values()
      この列挙クラスの定数を含む配列を宣言されている順序で 返します。
      戻り値:
      この列挙クラスの定数を宣言されている順序で含む配列
    • valueOf

      public static AccessFlag valueOf(String name)
      指定された名前を持つこのクラスのenum定数を返します。 文字列は、このクラスでenum定数を宣言するために使用される識別子と正確に一致する必要があります。 (不適切な空白文字は許可されません。)
      パラメータ:
      name - 返される列挙型定数の名前。
      戻り値:
      指定された名前を持つ列挙型定数
      例外:
      IllegalArgumentException - この列挙型クラスに指定された名前の定数がない場合
      NullPointerException - 引数がnullの場合
    • mask

      public int mask()
      アクセス・フラグに対応する整数マスクを返します。
      戻り値:
      アクセス・フラグに対応する整数マスク
    • sourceModifier

      public boolean sourceModifier()
      Javaプログラミング言語でフラグに直接対応する修飾子があるかどうかを返します。
      戻り値:
      Javaプログラミング言語でフラグに直接対応する修飾子があるかどうか
    • locations

      public Set<AccessFlag.Location> locations()
      最新のクラス・ファイル形式バージョンでフラグを適用できる構成の種類を返します。
      戻り値:
      最新のクラス・ファイル形式バージョンでフラグを適用できる構成
    • locations

      指定されたクラス・ファイル形式バージョンでフラグを適用できる構成の種類を返します。
      パラメータ:
      cffv - 使用するクラス・ファイル形式のバージョン
      戻り値:
      指定されたクラス・ファイル形式バージョンでフラグを適用できる構成
      例外:
      NullPointerException - パラメータがnullの場合
    • maskToAccessFlags

      public static Set<AccessFlag> maskToAccessFlags(int mask, AccessFlag.Location location)
      問題のロケーションに適した特定のマスク値に対する、変更できないアクセス・フラグのセットを返します。
      パラメータ:
      mask - アクセス・フラグのビット・マスク
      location - マスク値を解釈するコンテキスト
      戻り値:
      問題のロケーションに適した特定のマスク値に対する変更できないアクセス・フラグのセット
      例外:
      IllegalArgumentException - マスクに問題のロケーションがサポートされていないビット・ロケーションが含まれているかどうか