|
||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jboss.aop.instrument.Instrumentor
Transforms byte code, making a class advisable. Implements command line class instrumentor as well. Reads classes from class path and creates advised versions in specified directory. Usage:
Instrumentor [dest. directory] [class[ class...]]
Field Summary | |
---|---|
static String |
AOP_PACKAGE
Package of AOP classes. |
static String |
ASPECT_MANAGER_CLASS_NAME
Name of helper class. |
protected boolean |
basicsSet
|
protected AOPClassPool |
classPool
|
protected javassist.CodeConverter |
converter
|
static String |
HELPER_CLASS_NAME
Name of helper class. |
static String |
HELPER_FIELD_NAME
Helper class's field name. |
protected JoinpointClassifier |
joinpointClassifier
|
protected AspectManager |
manager
|
Constructor Summary | |
---|---|
Instrumentor(AOPClassPool pool,
AspectManager manager,
JoinpointClassifier joinpointClassifier,
DynamicTransformationObserver observer)
Constructs new instrumentor. |
|
Instrumentor(AspectManager manager,
JoinpointClassifier joinpointClassifier)
|
Method Summary | |
---|---|
boolean |
applyCallerPointcuts(javassist.CtClass clazz,
ClassAdvisor advisor)
|
void |
convertProcessedClasses(HotSwapper hotSwapper,
javassist.CtClass clazz,
Collection fieldReads,
Collection fieldWrites,
boolean constructor)
Converts all processed classes to make wrapping of the appropriate joinpoints. |
protected boolean |
convertReferences(javassist.CtClass clazz)
Find all classes that this class references. |
javassist.CtClass |
forName(String name)
Gets a class by its name. |
static List |
getAdvisableFields(javassist.CtClass clazz)
Gets sorted collection of advisable methods. |
javassist.ClassPool |
getClassPool()
|
List |
getConstructors(javassist.CtClass clazz)
|
void |
interceptorChainsUpdated(Collection joinpointUpdates,
HotSwapper hotSwapper)
Notifies the Instrumentor that some joinpoint status were updated. |
static boolean |
isAdvisable(javassist.CtField field)
Is the method advisable? |
static boolean |
isAdvisable(javassist.CtMethod method)
Is the method advisable? |
boolean |
isAdvised(javassist.CtClass clazz)
|
boolean |
isTransformable(javassist.CtClass clazz)
|
void |
setupBasics(javassist.CtClass clazz)
|
boolean |
transform(javassist.CtClass clazz,
ClassAdvisor advisor)
Makes class advisable. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final String AOP_PACKAGE
public static final String HELPER_CLASS_NAME
public static final String ASPECT_MANAGER_CLASS_NAME
public static final String HELPER_FIELD_NAME
protected AOPClassPool classPool
protected boolean basicsSet
protected javassist.CodeConverter converter
protected AspectManager manager
protected JoinpointClassifier joinpointClassifier
Constructor Detail |
public Instrumentor(AOPClassPool pool, AspectManager manager, JoinpointClassifier joinpointClassifier, DynamicTransformationObserver observer)
observer
- need be notified of every joinpoint wrapping caused only
by pointcuts dynamicaly added.public Instrumentor(AspectManager manager, JoinpointClassifier joinpointClassifier)
Method Detail |
public javassist.ClassPool getClassPool()
public static boolean isAdvisable(javassist.CtMethod method)
public static boolean isAdvisable(javassist.CtField field)
public boolean isAdvised(javassist.CtClass clazz) throws javassist.NotFoundException
javassist.NotFoundException
public boolean isTransformable(javassist.CtClass clazz) throws javassist.NotFoundException
javassist.NotFoundException
public boolean applyCallerPointcuts(javassist.CtClass clazz, ClassAdvisor advisor) throws javassist.CannotCompileException
javassist.CannotCompileException
protected boolean convertReferences(javassist.CtClass clazz) throws Exception
Exception
public boolean transform(javassist.CtClass clazz, ClassAdvisor advisor)
public List getConstructors(javassist.CtClass clazz)
public static List getAdvisableFields(javassist.CtClass clazz) throws javassist.NotFoundException
javassist.NotFoundException
public javassist.CtClass forName(String name) throws javassist.NotFoundException
javassist.NotFoundException
public void setupBasics(javassist.CtClass clazz) throws javassist.CannotCompileException, javassist.NotFoundException
javassist.CannotCompileException
javassist.NotFoundException
public void interceptorChainsUpdated(Collection joinpointUpdates, HotSwapper hotSwapper)
Instrumentor
that some joinpoint status were updated.
This method hot swaps the code of afected classes.
joinpointUpdates
- a collection of org.jboss.aop.instrument.JoinpointStatusUpdate
.hotSwapper
- object capable of hot swapping classes.public void convertProcessedClasses(HotSwapper hotSwapper, javassist.CtClass clazz, Collection fieldReads, Collection fieldWrites, boolean constructor)
clazz
- the clazz whose transformation involved dynamic wrapping.fieldReads
- collection of fields whose read joinpoit was dynamicaly wrapped.fieldWrites
- collection of fields whose read joinpoit was dynamicaly wrapped.constructor
- true
if the clazz
constructors were
dynamicaly wrapped.
|
||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |