Interface ClassInfo
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
EJB_EXCEPTION_CLASS_NAME
Naming constant: The qualified name ofjavax.ejb.EJBException
.static java.lang.String
EXTERNALIZABLE_CLASS_NAME
Naming constant: The qualified name ofjava.io.Externalizable
.static java.lang.String
OBJECT_CLASS_NAME
Naming constant: The qualified name ofjava.lang.Object
.static java.lang.String
REMOTE_EXCEPTION_CLASS_NAME
Naming constant: The qualified name ofjava.rmi.RemoteException
.static java.lang.String
SERIALIZABLE_CLASS_NAME
Naming constant: The qualified name ofjava.io.Serializable
.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.List<? extends MethodInfo>
getDeclaredConstructors()
Answer the declared constructors of the receiver.java.util.List<? extends FieldInfo>
getDeclaredFields()
Answer the declared fields of the receiver.java.util.List<? extends MethodInfo>
getDeclaredMethods()
Answer the declared methods of the receiver.java.util.List<java.lang.String>
getInterfaceNames()
Answer the names of the immediately declared interfaces of this class object as a set.java.util.List<? extends ClassInfo>
getInterfaces()
Answer the immediately declared interfaces of this class object.java.util.List<? extends MethodInfo>
getMethods()
Answer the methods of the receiver.PackageInfo
getPackage()
Answer the package object of this class object.java.lang.String
getPackageName()
Answer the name of the package of this class object.ClassInfo
getSuperclass()
Answer the superclass of this class.java.lang.String
getSuperclassName()
Answer the name of the superclass of this class.boolean
isAnnotationClass()
Tell if this class object is for an annotation class.boolean
isArray()
Tell if this class object represents an array type.boolean
isArtificial()
Tell if this class info was created to represent an unloadable class.boolean
isAssignableFrom(java.lang.String className)
Tell if a variable of this type can be assigned a value having a specified type, as specified by the name of the type.boolean
isDelayedClass()
Tell if this class object is implemented as a delayed class (as opposed to a non-delayed class).boolean
isFieldAnnotationPresent()
Tell if this class object has an annotations on a field.boolean
isInstanceOf(java.lang.Class<?> clazz)
boolean
isInstanceOf(java.lang.String className)
Tell if this type is a sub-type of another type.boolean
isInterface()
Tell if this class object represents an interface (that is, is defined using the keywordinterface
, as opposed to representing a concrete (although possibly abstract) class.boolean
isJavaClass()
Tell if this class object encodes a distinguished java class.boolean
isMethodAnnotationPresent()
Tell if this class object has an annotations on a method.boolean
isNonDelayedClass()
Tell if this class object is implemented as a non-delayed class (as opposed to a delayed class).boolean
isPrimitive()
Tell if this class object represents a primitive type (for example,int
).-
Methods inherited from interface com.ibm.wsspi.anno.info.Info
getAnnotation, getAnnotation, getAnnotations, getDeclaredAnnotation, getDeclaredAnnotation, getDeclaredAnnotations, getHashText, getInfoStore, getModifiers, getName, getQualifiedName, isAnnotationPresent, isAnnotationPresent, isAnnotationWithin, isDeclaredAnnotationPresent, isDeclaredAnnotationPresent, isDeclaredAnnotationWithin, isPackagePrivate, isPrivate, isProtected, isPublic, log
-
-
-
-
Field Detail
-
OBJECT_CLASS_NAME
static final java.lang.String OBJECT_CLASS_NAME
Naming constant: The qualified name of
java.lang.Object
.- See Also:
- Constant Field Values
-
SERIALIZABLE_CLASS_NAME
static final java.lang.String SERIALIZABLE_CLASS_NAME
Naming constant: The qualified name of
java.io.Serializable
.- See Also:
- Constant Field Values
-
EXTERNALIZABLE_CLASS_NAME
static final java.lang.String EXTERNALIZABLE_CLASS_NAME
Naming constant: The qualified name of
java.io.Externalizable
.- See Also:
- Constant Field Values
-
REMOTE_EXCEPTION_CLASS_NAME
static final java.lang.String REMOTE_EXCEPTION_CLASS_NAME
Naming constant: The qualified name of
java.rmi.RemoteException
.- See Also:
- Constant Field Values
-
EJB_EXCEPTION_CLASS_NAME
static final java.lang.String EJB_EXCEPTION_CLASS_NAME
Naming constant: The qualified name of
javax.ejb.EJBException
.- See Also:
- Constant Field Values
-
-
Method Detail
-
isArtificial
boolean isArtificial()
Tell if this class info was created to represent an unloadable class. Stub values are assigned, and the interface and superclass values are forced.
- Returns:
- True if this class object is artificial. Otherwise, false.
-
isArray
boolean isArray()
Tell if this class object represents an array type.
- Returns:
- True if this class object represents an array type. Otherwise, false.
-
isPrimitive
boolean isPrimitive()
Tell if this class object represents a primitive type (for example,
int
).- Returns:
- True if this class object represents a primitive type. Otherwise, false.
-
isDelayedClass
boolean isDelayedClass()
Tell if this class object is implemented as a delayed class (as opposed to a non-delayed class).
A delayed class will have a backing non-delayed class. Whether a class object is returned as a delayed or as a non-delayed class object is a detail of the implementation. However, the expectation is that frequently used classes (for example, classes from
java.lang
are never returned as delayed classes. Very likely, classes with annotations will not be returned as delayed classes.- Returns:
- True if the class object is implemented as a delayed class. False if the class object is implemented as a non-delayed class.
- See Also:
isNonDelayedClass()
-
isNonDelayedClass
boolean isNonDelayedClass()
Tell if this class object is implemented as a non-delayed class (as opposed to a delayed class).
- Returns:
- True if the class object is implemented as a non-delayed class. False if the class object is implemented as a delayed class.
- See Also:
isDelayedClass()
-
getPackageName
java.lang.String getPackageName()
Answer the name of the package of this class object.
Retrieval of the package name is preferred to retrieving the entire package object.
- Returns:
- The name of the package of this class object.
- See Also:
getPackage()
-
getPackage
PackageInfo getPackage()
Answer the package object of this class object.
Retrieval of the package name is preferred to retrieving the entire package object.
- Returns:
- The package object of this class object.
- See Also:
getPackageName()
-
isJavaClass
boolean isJavaClass()
Tell if this class object encodes a distinguished java class. Which java classes are distinguished is an implementation detail. (The current implementation distinguishes all classes under
java
, as well as all class underjavax.ejb
and all classes underjavax.servlet
.) Classes are distinguished to assist in telling which classes are to be delayed.- Returns:
- True if this class is a distinguished java class. Otherwise, false.
-
isInterface
boolean isInterface()
Tell if this class object represents an interface (that is, is defined using the keyword
interface
, as opposed to representing a concrete (although possibly abstract) class.- Returns:
- True if this class object represents an interface. Otherwise, false.
-
getInterfaceNames
java.util.List<java.lang.String> getInterfaceNames()
Answer the names of the immediately declared interfaces of this class object as a set.
- Returns:
- The names of the immediately declared interfaces of this class object as a set.
- See Also:
#getInterfaceNamesArray()
,getInterfaces()
,#getAllInterfaceNames()
,#getAllInterfaces()
-
getInterfaces
java.util.List<? extends ClassInfo> getInterfaces()
Answer the immediately declared interfaces of this class object.
Retrieval of the interface names is preferred to retrieval of the class objects of the interfaces.
- Returns:
- The names of the immediately declared interfaces of this class object as a set.
- See Also:
#getInterfaceNamesArray()
,getInterfaceNames()
,#getAllInterfaceNames()
,#getAllInterfaces()
-
isAnnotationClass
boolean isAnnotationClass()
Tell if this class object is for an annotation class. That is, whether
java.lang.annotation.Annotation
is one of the interfaces of the class.- Returns:
- True if this class object is for an annotation class. Otherwise, false.
-
getSuperclassName
java.lang.String getSuperclassName()
Answer the name of the superclass of this class. An interface has a null superclass name. The root class
java.lang.Object
has a null superclass name. All other classes have a non-null superclass name.Retrieval of the superclass name is preferred to retrieving the superclass object.
- Returns:
- The superclass name of this class. Null for interfaces and for
java.lang.Object
- See Also:
isInterface()
,getSuperclass()
-
getSuperclass
ClassInfo getSuperclass()
Answer the superclass of this class. An interface has a null superclass. The root class
java.lang.Object
has a null superclass. All other classes have a non-null superclass name.Retrieval of the superclass name is preferred to retrieving the superclass object.
- Returns:
- The superclass of this class. Null for interfaces and for
java.lang.Object
- See Also:
isInterface()
,getSuperclassName()
-
isAssignableFrom
boolean isAssignableFrom(java.lang.String className)
Tell if a variable of this type can be assigned a value having a specified type, as specified by the name of the type.
That is, is the type as represented by this class object coarser (the same or strictly coarser) than the specified type.
Assignment tests are the reverse of instance-of tests. That is, if type X is assignable from type Y, then Y is an instance of X. Conversely, if Y is an instance of X, then X is assignable from Y.
- Parameters:
The
- name of the type which is to be tested.- Returns:
- True if a variable of this type can be assigned a value of the specified type. Otherwise, false.
- See Also:
#isAssignableFrom(ClassInfo)
,#isAssignableFrom(Class)
,isInstanceOf(String)
,#isInstanceOf(ClassInfo)
,isInstanceOf(Class)
-
isInstanceOf
boolean isInstanceOf(java.lang.String className)
Tell if this type is a sub-type of another type. The other type is specified by the name of the type.
That is, is the type as represented by this class object finer (the same or strictly finer) than the specified type.
Instance-of tests are the reverse of assignment tests. That is, if type X is an instance of type Y, then Y is assignable from of X. Conversely, if Y is assignable from X, then X is an instance of Y.
- Parameters:
The
- name of the type which is to be tested.- Returns:
- True if this type is an instance (sub-type) of the specified type. Otherwise, false.
- See Also:
isAssignableFrom(String)
,#isAssignableFrom(ClassInfo)
,#isAssignableFrom(Class)
-
isInstanceOf
boolean isInstanceOf(java.lang.Class<?> clazz)
-
getDeclaredFields
java.util.List<? extends FieldInfo> getDeclaredFields()
Answer the declared fields of the receiver.
The result collection does not support additions.
- Returns:
- The declared fields of the receiver.
- See Also:
#getFields()
-
getDeclaredConstructors
java.util.List<? extends MethodInfo> getDeclaredConstructors()
Answer the declared constructors of the receiver.
The result collection does not support additions.
Note: The difference between
#getDeclaredConstructor()
and#getConstructors()
is not clear, as constructors are not inherited.- Returns:
- The declared constructors of the receiver.
- See Also:
#getConstructors()
-
getDeclaredMethods
java.util.List<? extends MethodInfo> getDeclaredMethods()
Answer the declared methods of the receiver.
The result collection does not support additions.
- Returns:
- The declared methods of the receiver.
- See Also:
getMethods()
-
getMethods
java.util.List<? extends MethodInfo> getMethods()
Answer the methods of the receiver. These are the methods, plus any acquired through inheritance.
The result collection does not support additions.
- Returns:
- The methods of the receiver.
- See Also:
getDeclaredFields()
-
isFieldAnnotationPresent
boolean isFieldAnnotationPresent()
Tell if this class object has an annotations on a field. (Annotations other than declared annotations are those which are added as a result of applications of JSR250.)
- Returns:
- True if any field of this class has an annotation. Otherwise, false.
- See Also:
isMethodAnnotationPresent()
-
isMethodAnnotationPresent
boolean isMethodAnnotationPresent()
Tell if this class object has an annotations on a method. (Annotations other than declared annotations are those which are added as a result of applications of JSR250.)
- Returns:
- True if any method of this class has an annotation. Otherwise, false.
- See Also:
isFieldAnnotationPresent()
-
-