Interface ClassMetadata

All Known Subinterfaces:
AnnotationMetadata
All Known Implementing Classes:
StandardAnnotationMetadata, StandardClassMetadata

public interface ClassMetadata
Interface that defines abstract metadata of a specific class, in a form that does not require that class to be loaded yet.
Since:
2.5
Author:
Juergen Hoeller
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    Return the name of the underlying class.
    Return the name of the enclosing class of the underlying class, or null if the underlying class is a top-level class.
    Return the names of all interfaces that the underlying class implements, or an empty array if there are none.
    Return the names of all classes declared as members of the class represented by this ClassMetadata object.
    Return the name of the superclass of the underlying class, or null if there is no superclass defined.
    default boolean
    Return whether the underlying class is declared within an enclosing class (i.e.
    default boolean
    Return whether the underlying class has a superclass.
    boolean
    Return whether the underlying class is marked as abstract.
    boolean
    Return whether the underlying class represents an annotation.
    default boolean
    Return whether the underlying class represents a concrete class, i.e.
    boolean
    Return whether the underlying class is marked as 'final'.
    boolean
    Determine whether the underlying class is independent, i.e.
    boolean
    Return whether the underlying class represents an interface.
  • Method Details

    • getClassName

      String getClassName()
      Return the name of the underlying class.
    • isInterface

      boolean isInterface()
      Return whether the underlying class represents an interface.
    • isAnnotation

      boolean isAnnotation()
      Return whether the underlying class represents an annotation.
      Since:
      4.1
    • isAbstract

      boolean isAbstract()
      Return whether the underlying class is marked as abstract.
    • isConcrete

      default boolean isConcrete()
      Return whether the underlying class represents a concrete class, i.e. neither an interface nor an abstract class.
    • isFinal

      boolean isFinal()
      Return whether the underlying class is marked as 'final'.
    • isIndependent

      boolean isIndependent()
      Determine whether the underlying class is independent, i.e. whether it is a top-level class or a nested class (static inner class) that can be constructed independently of an enclosing class.
    • hasEnclosingClass

      default boolean hasEnclosingClass()
      Return whether the underlying class is declared within an enclosing class (i.e. the underlying class is an inner/nested class or a local class within a method).

      If this method returns false, then the underlying class is a top-level class.

    • getEnclosingClassName

      @Nullable String getEnclosingClassName()
      Return the name of the enclosing class of the underlying class, or null if the underlying class is a top-level class.
    • hasSuperClass

      default boolean hasSuperClass()
      Return whether the underlying class has a superclass.
    • getSuperClassName

      @Nullable String getSuperClassName()
      Return the name of the superclass of the underlying class, or null if there is no superclass defined.
    • getInterfaceNames

      String[] getInterfaceNames()
      Return the names of all interfaces that the underlying class implements, or an empty array if there are none.
    • getMemberClassNames

      String[] getMemberClassNames()
      Return the names of all classes declared as members of the class represented by this ClassMetadata object. This includes public, protected, default (package) access, and private classes and interfaces declared by the class, but excludes inherited classes and interfaces. An empty array is returned if no member classes or interfaces exist.
      Since:
      3.1