org.springframework.core.type

## Class StandardClassMetadata

- java.lang.Object
- - org.springframework.core.type.StandardClassMetadata

All Implemented Interfaces:
  ClassMetadata

Direct Known Subclasses:
  StandardAnnotationMetadata

    public class StandardClassMetadata
    extends Object
    implements ClassMetadata

`ClassMetadata` implementation that uses standard reflection to introspect a given `Class`.

Since:
  2.5
Author:
  Juergen Hoeller

### Constructor Summary

Constructors
Constructor and Description
`StandardClassMetadata(Class introspectedClass)` Create a new StandardClassMetadata wrapper for the given Class.

### Method Summary

Methods
`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 names of all interfaces that the underlying class implements, or an empty array if there are none.
`Class` `getIntrospectedClass()` Return the underlying Class.
`String[]` `getMemberClassNames()` Return the names of all classes declared as members of the class represented by this ClassMetadata object.
`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.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### StandardClassMetadata

    public StandardClassMetadata(Class introspectedClass)

Create a new StandardClassMetadata wrapper for the given Class.

Parameters:
  `introspectedClass` - the Class to introspect

### Method Detail

#### getIntrospectedClass

    public final Class getIntrospectedClass()

Return the underlying Class.

#### getClassName

    public String getClassName()

Description copied from interface: `ClassMetadata`
Return the name of the underlying class.

Specified by:
  `getClassName` in interface `ClassMetadata`

#### isInterface

    public boolean isInterface()

Description copied from interface: `ClassMetadata`
Return whether the underlying class represents an interface.

Specified by:
  `isInterface` in interface `ClassMetadata`

#### isAbstract

    public boolean isAbstract()

Description copied from interface: `ClassMetadata`
Return whether the underlying class is marked as abstract.

Specified by:
  `isAbstract` in interface `ClassMetadata`

#### isConcrete

    public boolean isConcrete()

Description copied from interface: `ClassMetadata`
Return whether the underlying class represents a concrete class, i.e. neither an interface nor an abstract class.

Specified by:
  `isConcrete` in interface `ClassMetadata`

#### isFinal

    public boolean isFinal()

Description copied from interface: `ClassMetadata`
Return whether the underlying class is marked as 'final'.

Specified by:
  `isFinal` in interface `ClassMetadata`

#### isIndependent

    public boolean isIndependent()

Description copied from interface: `ClassMetadata`
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.

Specified by:
  `isIndependent` in interface `ClassMetadata`

#### hasEnclosingClass

    public boolean hasEnclosingClass()

Description copied from interface: `ClassMetadata`
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.

Specified by:
  `hasEnclosingClass` in interface `ClassMetadata`

#### getEnclosingClassName

    public String getEnclosingClassName()

Description copied from interface: `ClassMetadata`
Return the name of the enclosing class of the underlying class, or `null` if the underlying class is a top-level class.

Specified by:
  `getEnclosingClassName` in interface `ClassMetadata`

#### hasSuperClass

    public boolean hasSuperClass()

Description copied from interface: `ClassMetadata`
Return whether the underlying class has a super class.

Specified by:
  `hasSuperClass` in interface `ClassMetadata`

#### getSuperClassName

    public String getSuperClassName()

Description copied from interface: `ClassMetadata`
Return the name of the super class of the underlying class, or `null` if there is no super class defined.

Specified by:
  `getSuperClassName` in interface `ClassMetadata`

#### getInterfaceNames

    public String[] getInterfaceNames()

Description copied from interface: `ClassMetadata`
Return the names of all interfaces that the underlying class implements, or an empty array if there are none.

Specified by:
  `getInterfaceNames` in interface `ClassMetadata`

#### getMemberClassNames

    public String[] getMemberClassNames()

Description copied from interface: `ClassMetadata`
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.

Specified by:
  `getMemberClassNames` in interface `ClassMetadata`