Package org.biojava.utils.bytecode
Class IntrospectedCodeClass
- java.lang.Object
-
- org.biojava.utils.bytecode.IntrospectedCodeClass
-
- All Implemented Interfaces:
CodeClass
public class IntrospectedCodeClass extends Object implements CodeClass
CodeClass instances that represent normal Java Class objects.Instances of IntrospectedCodeClass are generated using the static factory methods named forClass(). These methods ensure that the same IntrospectedCodeClass instance is returned for multiple invocations with the same argument.
- Author:
- Thomas Down, Matthew Pocock
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static CodeClassforClass(Class c)Get the CodeClass for a Java Class.static CodeClassforClass(String name)Get the CodeClass for a Java class name.static CodeMethodforMethod(Method method)CodeMethodgetConstructor(CodeClass[] args)Get a constructor by argument list.StringgetDescriptor()CodeFieldgetFieldByName(String name)Get a field by its name.SetgetFields()Get all fields accessible through this class.ListgetInterfaces()StringgetJName()CodeMethodgetMethod(String name, CodeClass[] args)Get a method by name and argument list.SetgetMethods()Get all methods declared by this class and its super classes, removing all super class methods that are over ridden.SetgetMethodsByName(String name)Get the name of all methods that could be invoked through this class with a given name.intgetModifiers()Get the modifiers associated with the class.StringgetName()CodeClassgetSuperClass()booleanisArray()Discover if the class is an array type.booleanisPrimitive()Discover if the class represents a primitive type.StringtoString()
-
-
-
Method Detail
-
forClass
public static CodeClass forClass(Class c)
Get the CodeClass for a Java Class.- Parameters:
c- the Java Class to reflect- Returns:
- a CodeClass representing the class
-
forClass
public static CodeClass forClass(String name) throws ClassNotFoundException
Get the CodeClass for a Java class name.- Parameters:
name- the Java class name to reflect- Returns:
- a CodeClass representing the class
- Throws:
ClassNotFoundException
-
forMethod
public static CodeMethod forMethod(Method method)
-
getDescriptor
public String getDescriptor()
- Specified by:
getDescriptorin interfaceCodeClass
-
getModifiers
public int getModifiers()
Description copied from interface:CodeClassGet the modifiers associated with the class.- Specified by:
getModifiersin interfaceCodeClass- Returns:
- the modifier integer
-
getSuperClass
public CodeClass getSuperClass()
- Specified by:
getSuperClassin interfaceCodeClass
-
getInterfaces
public List getInterfaces()
- Specified by:
getInterfacesin interfaceCodeClass
-
getMethods
public Set getMethods()
Description copied from interface:CodeClassGet all methods declared by this class and its super classes, removing all super class methods that are over ridden.This should return methods, regardless of their accessability.
- Specified by:
getMethodsin interfaceCodeClass- Returns:
- a Set containing all methods
-
getFieldByName
public CodeField getFieldByName(String name) throws NoSuchFieldException
Description copied from interface:CodeClassGet a field by its name.- Specified by:
getFieldByNamein interfaceCodeClass- Parameters:
name- the field name- Returns:
- a CodeField representing the field
- Throws:
NoSuchFieldException- if there is no field by that name accessible through this class
-
getFields
public Set getFields()
Description copied from interface:CodeClassGet all fields accessible through this class.
-
getMethodsByName
public Set getMethodsByName(String name)
Description copied from interface:CodeClassGet the name of all methods that could be invoked through this class with a given name.- Specified by:
getMethodsByNamein interfaceCodeClass- Parameters:
name- the name of the method- Returns:
- a Set of CodeMethod instances with that name
-
getMethod
public CodeMethod getMethod(String name, CodeClass[] args) throws NoSuchMethodException
Description copied from interface:CodeClassGet a method by name and argument list.- Specified by:
getMethodin interfaceCodeClass- Parameters:
name- the name of the methodargs- the arguments it takes- Returns:
- a matching method
- Throws:
NoSuchMethodException- if there is no maching method
-
getConstructor
public CodeMethod getConstructor(CodeClass[] args) throws NoSuchMethodException
Description copied from interface:CodeClassGet a constructor by argument list.- Specified by:
getConstructorin interfaceCodeClass- Parameters:
args- the arguments it takes- Returns:
- a matching constructor
- Throws:
NoSuchMethodException- if there is no matching constructor
-
isPrimitive
public boolean isPrimitive()
Description copied from interface:CodeClassDiscover if the class represents a primitive type.- Specified by:
isPrimitivein interfaceCodeClass- Returns:
- true if the class represents a primative type
-
isArray
public boolean isArray()
Description copied from interface:CodeClassDiscover if the class is an array type.
-
-