## org.springframework.core.type
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:
  `StandardClassMetadata`, `MetadataReader.getClassMetadata()`, `AnnotationMetadata`

Method Summary
`String` `getClassName()` Return the name of the underlying class.
`String` `getEnclosingClassName()` Return the name of the enclosing class of the underlying class, or `null` if the underlying class is a top-level class.
`String[]` `getInterfaceNames()` Return the name of all interfaces that the underlying class implements, or an empty array if there are none.
`String` `getSuperClassName()` Return the name of the super class of the underlying class, or `null` if there is no super class defined.
`boolean` `hasEnclosingClass()` Return whether the underlying class has an enclosing class (i.e.
`boolean` `hasSuperClass()` Return whether the underlying class has a super class.
`boolean` `isAbstract()` Return whether the underlying class is marked as abstract.
`boolean` `isConcrete()` Return whether the underlying class represents a concrete class, i.e.
`boolean` `isFinal()` Return whether the underlying class is marked as 'final'.
`boolean` `isIndependent()` Determine whether the underlying class is independent, i.e.
`boolean` `isInterface()` Return whether the underlying class represents an interface.

Method Detail

### getClassName

    String getClassName()

  Return the name of the underlying class.

### isInterface

    boolean isInterface()

  Return whether the underlying class represents an interface.

### isAbstract

    boolean isAbstract()

  Return whether the underlying class is marked as abstract.

### isConcrete

    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 independent from an enclosing class.

### hasEnclosingClass

    boolean hasEnclosingClass()

  Return whether the underlying class has 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

    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

    boolean hasSuperClass()

  Return whether the underlying class has a super class.

### getSuperClassName

    String getSuperClassName()

  Return the name of the super class of the underlying class, or `null` if there is no super class defined.

### getInterfaceNames

    String[] getInterfaceNames()

  Return the name of all interfaces that the underlying class implements, or an empty array if there are none.