org.springframework.core.type
Class StandardClassMetadata

java.lang.Object
  extended by 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
StandardClassMetadata(Class introspectedClass)
          Create a new StandardClassMetadata wrapper for the given Class.
 
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.
 Class getIntrospectedClass()
          Return the underlying Class.
 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 name of all interfaces that the underlying class implements, or an empty array if there are none.

Specified by:
getInterfaceNames in interface ClassMetadata