インターフェース ClassInfo

  • すべてのスーパーインターフェース:
    AnnotationTargetDeclarationInfo

    public interface ClassInfo
    extends DeclarationInfo
    クラス。次の 5 種類のクラスが区別されます。
    • プレーンクラス
    • インターフェース
    • 列挙 (制限された種類のクラス)
    • アノテーション (特殊な種類のインターフェース)
    • 記録 (制限された種類のクラス)
    クラスは、独立した単位として表されます。つまり、このクラスが入れ子になっている場合、囲んでいるクラスを取得することはできません。同様に、このクラスにネストされたクラスのセットを取得することはできません。

    同時に、このクラスで宣言されているコンストラクターメソッド、およびフィールドのセット、およびこのクラスがレコードの場合はレコードコンポーネントのセットを取得することができます。このクラスが宣言されているパッケージを取得することもできます。

    導入:
    4.0
    • メソッドの詳細

      • name

        StringSE name()
        The Java ™ Language Specification で定義されている、このクラスのバイナリ名を返します。つまり、Class.getName() によって返されるクラス名です。
        戻り値:
        このクラスのバイナリ名、決して null
      • simpleName

        StringSE simpleName()
        The Java ™ Language Specification で定義されている、このクラスの単純名を返します。つまり、Class.getSimpleName() によって返されるクラス名です。
        戻り値:
        このクラスの単純な名前で、決して null ではありません
      • packageInfo

        PackageInfo packageInfo()
        このクラスが含まれるパッケージを返します。このクラスが名前のないパッケージの一部である場合は、null を返します。
        戻り値:
        このクラスのパッケージ、またはこのクラスが名前のないパッケージにある場合は null 
      • typeParameters

        ListSE<TypeVariable> typeParameters()
        このクラスで宣言された型パラメーターのリストを返します。このクラスがジェネリクスではないため、型パラメーターが宣言されていない場合は、空のリストを返します。
        戻り値:
        このクラスの型パラメーターの不変リスト。決して null ではありません
      • superClass

        Type superClass()
        このクラスのスーパークラスのを返します。このクラスにスーパークラスがない場合は null を返します。つまり、このクラスが java.lang.Object またはインターフェースの場合です。
        戻り値:
        このクラスのスーパークラスの型、またはスーパークラスがない場合は null 
      • superClassDeclaration

        ClassInfo superClassDeclaration()
        このクラスのスーパークラスの宣言を返します。このクラスにスーパークラスがない場合は null を返します。つまり、このクラスが java.lang.Object またはインターフェースの場合です。
        戻り値:
        このクラスのスーパークラスの宣言、またはスーパークラスがない場合は null 
      • superInterfaces

        ListSE<Type> superInterfaces()
        このクラスの直接スーパーインターフェースののリストを返します。このクラスに直接スーパーインターフェースがない場合は、空のリストを返します。
        戻り値:
        このクラスの直接スーパーインターフェースの型の不変リスト。決して null ではありません
      • superInterfacesDeclarations

        ListSE<ClassInfo> superInterfacesDeclarations()
        このクラスの直接スーパーインターフェースの宣言のリストを返します。このクラスに直接スーパーインターフェースがない場合は、空のリストを返します。
        戻り値:
        このクラスの直接スーパーインターフェースの宣言の不変リスト。決して null ではありません
      • isPlainClass

        boolean isPlainClass()
        このクラスがプレーンクラスかどうかを返します。つまり、インターフェースでも、列挙型でも、アノテーションでも、レコードでもありません。
        戻り値:
        このクラスが単純なクラスかどうか
      • isInterface

        boolean isInterface()
        このクラスがインターフェースかどうかを返します。このクラスがアノテーションの場合、false を返します。
        戻り値:
        このクラスがインターフェースかどうか
      • isEnum

        boolean isEnum()
        このクラスが列挙型かどうかを返します。
        戻り値:
        このクラスが列挙型かどうか
      • isAnnotation

        boolean isAnnotation()
        このクラスがアノテーションかどうかを返します。
        戻り値:
        このクラスがアノテーションかどうか
      • isRecord

        boolean isRecord()
        このクラスがレコードかどうかを返します。
        戻り値:
        このクラスがレコードかどうか
      • isAbstract

        boolean isAbstract()
        このクラスが抽象かどうかを返します。

        abstract と宣言されている場合、プレーンクラスは抽象クラスになります。abstract メソッドを宣言する場合、列挙型は抽象になります。インターフェースまたはアノテーションは常に抽象的です。記録は決して抽象的なものではありません。

        戻り値:
        このクラスが abstract かどうか
      • isFinal

        boolean isFinal()
        このクラスが final かどうかを返します。
        戻り値:
        このクラスが final かどうか
      • modifiers

        int modifiers()
        このクラスの修飾子を int として返します。ModifierSE を使用して値をインスペクションします。
        戻り値:
        このクラスの修飾子
      • constructors

        CollectionSE<MethodInfo> constructors()
        このクラスで宣言または暗黙的に宣言されたコンストラクターのコレクションを返します。直接または間接のスーパークラスで宣言されたコンストラクターは含まれません。

        このクラスがインターフェースまたはアノテーションの場合、空のコレクションを返します。

        戻り値:
        コンストラクターの不変コレクション、決して null
      • methods

        CollectionSE<MethodInfo> methods()
        このクラスとそのすべてのスーパークラス ( java.lang.Object まで)、およびすべての直接および間接スーパーインターフェースで宣言または暗黙的に宣言されたメソッドのコレクションを返します。このクラスがインターフェースの場合、スーパーインターフェースのみが考慮されます。インターフェース内で暗黙的に宣言されたメソッドは省略されます。

        上で説明したメソッドのコレクションに同じシグネチャーを持つ複数のメソッドが含まれている場合は、そのようなメソッドがすべて返されます。このような方法を区別するには、MethodInfo.declaringClass を使用する必要があります。

        結果として得られるコレクションの反復順序は定義されていないため、このクラスの継承階層に対応する必要はありません。

        戻り値:
        不変のメソッドのコレクション、決して null ではない
      • fields

        CollectionSE<FieldInfo> fields()
        このクラスとそのすべてのスーパークラス ( java.lang.Object まで)、およびすべての直接および間接スーパーインターフェースで宣言または暗黙的に宣言されたフィールドのコレクションを返します。このクラスがインターフェースの場合、スーパーインターフェースのみが考慮されます。

        上で説明したフィールドのコレクションに同じ名前のフィールドが複数含まれている場合、そのようなフィールドがすべて返されます。このようなフィールドを区別するには FieldInfo.declaringClass を使用する必要があります。

        結果として得られるコレクションの反復順序は定義されていないため、このクラスの継承階層に対応する必要はありません。

        戻り値:
        フィールドの不変コレクション、決して null ではない
      • recordComponents

        CollectionSE<RecordComponentInfo> recordComponents()
        このクラスで宣言されたレコードコンポーネントのコレクションを返します。このクラスがレコードではない場合、空のコレクションを返します。
        戻り値:
        レコードコンポーネントの不変コレクション、決して nul
      • asClass

        default ClassInfo asClass()
        インターフェースからコピーされた説明: DeclarationInfo
        この宣言をクラスとして返します。
        次で指定:
        インターフェース DeclarationInfoasClass 
        戻り値:
        このクラスでは決して null ではありません