public class ClassWrapper extends java.lang.Object implements IClass
Modifier and Type | Field and Description |
---|---|
private ClassFile |
m_class |
private IClassItem[] |
m_fields |
private IClassLocator |
m_locator |
private IClassItem[] |
m_methods |
Constructor and Description |
---|
ClassWrapper(IClassLocator loc,
ClassFile clas)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected IClassItem |
buildItem(ClassItem item)
Build an item wrapper.
|
IClassItem |
getBestMethod(java.lang.String name,
java.lang.String type,
java.lang.String[] args)
Get information for best matching method.
|
ClassFile |
getClassFile()
Get class file information.
|
IClassItem |
getDirectField(java.lang.String name)
Get information for field.
|
IClassItem |
getField(java.lang.String name)
Get information for field.
|
IClassItem[] |
getFields()
Get all fields of class.
|
IClassItem |
getInitializerMethod(java.lang.String sig)
Get information for initializer.
|
java.lang.String[] |
getInstanceSigs()
Get signatures for all types of which instances of this type are
instances.
|
java.lang.String[] |
getInterfaces()
Get names of all interfaces implemented directly by class.
|
java.lang.String |
getJavaDoc()
Get the JavaDoc comment for this class.
|
IClassLocator |
getLocator()
Get the locator which provided this class.
|
IClassItem |
getMethod(java.lang.String name,
java.lang.String sig)
Get information for method without respect to potential trailing
arguments or return value.
|
IClassItem |
getMethod(java.lang.String name,
java.lang.String[] sigs)
Get information for method matching one of several possible signatures.
|
IClassItem[] |
getMethods()
Get all methods of class.
|
java.lang.String |
getName()
Get fully qualified class name.
|
java.lang.String |
getPackage()
Get package name.
|
java.lang.String |
getSignature()
Get signature for class as type.
|
IClassItem |
getStaticMethod(java.lang.String name,
java.lang.String sig)
Get information for static method without respect to return value.
|
IClass |
getSuperClass()
Get superclass.
|
boolean |
isAbstract()
Check if class is abstract.
|
boolean |
isAccessible(IClassItem item)
Check accessible method.
|
boolean |
isAssignable(IClass other)
Check if a value of this type can be directly assigned to another type.
|
boolean |
isImplements(java.lang.String sig)
Check if class implements an interface.
|
boolean |
isInterface()
Check if class is an interface.
|
boolean |
isModifiable()
Check if class is modifiable.
|
boolean |
isSuperclass(java.lang.String name)
Check if another class is a superclass of this one.
|
java.lang.Class |
loadClass()
Load class in executable form.
|
private final IClassLocator m_locator
private final ClassFile m_class
private IClassItem[] m_fields
private IClassItem[] m_methods
public ClassWrapper(IClassLocator loc, ClassFile clas)
loc
- clas
- protected IClassItem buildItem(ClassItem item)
item
- public java.lang.String getName()
IClass
public java.lang.String getSignature()
IClass
getSignature
in interface IClass
public java.lang.String getPackage()
IClass
getPackage
in interface IClass
public IClass getSuperClass()
IClass
getSuperClass
in interface IClass
public java.lang.String[] getInterfaces()
IClass
getInterfaces
in interface IClass
null
, empty array if none)public java.lang.String[] getInstanceSigs()
IClass
getInstanceSigs
in interface IClass
public boolean isImplements(java.lang.String sig)
IClass
isImplements
in interface IClass
sig
- signature of interface to be checkedtrue
if interface is implemented by class,
false
if notpublic boolean isAbstract()
IClass
isAbstract
in interface IClass
true
if class is abstract, false
if notpublic boolean isInterface()
IClass
isInterface
in interface IClass
true
if class is an interface, false
if
notpublic boolean isModifiable()
IClass
isModifiable
in interface IClass
true
if class is modifiable, false
if
notpublic boolean isSuperclass(java.lang.String name)
IClass
isSuperclass
in interface IClass
name
- potential superclass to be checkedtrue
if named class is a superclass of this one,
false
if notpublic IClassItem getDirectField(java.lang.String name)
IClass
getDirectField
in interface IClass
name
- field namenull
if field not foundpublic IClassItem getField(java.lang.String name)
IClass
public IClassItem getMethod(java.lang.String name, java.lang.String sig)
IClass
public IClassItem getMethod(java.lang.String name, java.lang.String[] sigs)
IClass
public IClassItem getInitializerMethod(java.lang.String sig)
IClass
getInitializerMethod
in interface IClass
sig
- encoded argument list signaturenull
if method not foundpublic IClassItem getStaticMethod(java.lang.String name, java.lang.String sig)
IClass
getStaticMethod
in interface IClass
name
- method namesig
- encoded argument list signaturenull
if method not foundpublic boolean isAccessible(IClassItem item)
IClass
isAccessible
in interface IClass
item
- field or method informationtrue
if accessible, false
if notpublic boolean isAssignable(IClass other)
IClass
isAssignable
in interface IClass
other
- type to be assigned totrue
if assignable, false
if notpublic IClassItem getBestMethod(java.lang.String name, java.lang.String type, java.lang.String[] args)
IClass
getBestMethod
in interface IClass
name
- method nametype
- return value type name (null
if indeterminant)args
- argument value type names (null
if
indeterminant)null
if method not foundpublic ClassFile getClassFile()
IClass
getClassFile
in interface IClass
public java.lang.Class loadClass()
IClass
public IClassItem[] getFields()
IClass
public IClassItem[] getMethods()
IClass
getMethods
in interface IClass
public java.lang.String getJavaDoc()
IClass
getJavaDoc
in interface IClass
null
if none or no source availablepublic IClassLocator getLocator()
IClass
getLocator
in interface IClass