Package 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 givenClass
.- Since:
- 2.5
- Author:
- Juergen Hoeller
Constructor Summary
Constructors Constructor Description StandardClassMetadata(Class<?> introspectedClass)
Create a new StandardClassMetadata wrapper for the given Class.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getClassName()
Return the name of the underlying class.String
getEnclosingClassName()
Return the name of the enclosing class of the underlying class, ornull
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, ornull
if there is no super class defined.boolean
hasEnclosingClass()
Return whether the underlying class is declared within 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
isAnnotation()
Return whether the underlying class represents an annotation.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.
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 interfaceClassMetadata
isInterface
public boolean isInterface()
Description copied from interface:ClassMetadata
Return whether the underlying class represents an interface.- Specified by:
isInterface
in interfaceClassMetadata
isAnnotation
public boolean isAnnotation()
Description copied from interface:ClassMetadata
Return whether the underlying class represents an annotation.- Specified by:
isAnnotation
in interfaceClassMetadata
isAbstract
public boolean isAbstract()
Description copied from interface:ClassMetadata
Return whether the underlying class is marked as abstract.- Specified by:
isAbstract
in interfaceClassMetadata
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 interfaceClassMetadata
isFinal
public boolean isFinal()
Description copied from interface:ClassMetadata
Return whether the underlying class is marked as 'final'.- Specified by:
isFinal
in interfaceClassMetadata
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 independently from an enclosing class.- Specified by:
isIndependent
in interfaceClassMetadata
hasEnclosingClass
public boolean hasEnclosingClass()
Description copied from interface:ClassMetadata
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.- Specified by:
hasEnclosingClass
in interfaceClassMetadata
getEnclosingClassName
public String getEnclosingClassName()
Description copied from interface:ClassMetadata
Return the name of the enclosing class of the underlying class, ornull
if the underlying class is a top-level class.- Specified by:
getEnclosingClassName
in interfaceClassMetadata
hasSuperClass
public boolean hasSuperClass()
Description copied from interface:ClassMetadata
Return whether the underlying class has a super class.- Specified by:
hasSuperClass
in interfaceClassMetadata
getSuperClassName
public String getSuperClassName()
Description copied from interface:ClassMetadata
Return the name of the super class of the underlying class, ornull
if there is no super class defined.- Specified by:
getSuperClassName
in interfaceClassMetadata
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 interfaceClassMetadata
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 interfaceClassMetadata