jasco.runtime.hotswap
Class CallJPManager
java.lang.Object
jasco.runtime.hotswap.CallJPManager
- All Implemented Interfaces:
- ConnectorRegistryListener, ClassLoadingListener
public class CallJPManager
- extends java.lang.Object
- implements ConnectorRegistryListener, ClassLoadingListener
- Author:
- Wim
Method Summary |
void |
classLoaded(javassist.CtClass clz,
java.lang.String classname)
|
protected javassist.CtMethod |
findNewCallMethod(javassist.CtClass clz,
javassist.CtMethod old,
java.lang.String name)
|
java.util.Vector |
getCallJPs()
|
void |
getCallJPs(Connector theconnector,
java.util.Vector result)
|
static CallJPManager |
getInstance()
|
protected void |
hotswapTargetClasses(CallJoinpoint jp)
|
protected boolean |
isCall(PCutpointConstructorApplicationDesignator des)
|
protected boolean |
isLoaded(java.lang.String clz)
|
static void |
load()
|
protected void |
patchCallJoinpoints(Connector theconnector)
|
protected byte[] |
patchCallJoinpoints(javassist.CtClass cls,
java.lang.String classname)
|
protected boolean |
patchCallJP(javassist.CtClass cls,
CallJoinpoint jp)
|
protected boolean |
patchCallJP(javassist.CtMethod method,
CallJoinpoint jp)
|
void |
registryChanged(CRChangeEvent event)
method invoked whenever something changes in the connector registry:
connector added, removed, connector combinattion strategy added or removed,... |
void |
registryUpdated()
method invoked when the automatic connector loading process is finished
is invoked regardless of whether connectors were added or deleted
use registryChanged to know that. |
protected void |
unpatchCallJoinpoints(Connector theconnector)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
getInstance
public static CallJPManager getInstance()
load
public static void load()
classLoaded
public void classLoaded(javassist.CtClass clz,
java.lang.String classname)
- Specified by:
classLoaded
in interface ClassLoadingListener
getCallJPs
public java.util.Vector getCallJPs()
getCallJPs
public void getCallJPs(Connector theconnector,
java.util.Vector result)
registryChanged
public void registryChanged(CRChangeEvent event)
- Description copied from interface:
ConnectorRegistryListener
- method invoked whenever something changes in the connector registry:
connector added, removed, connector combinattion strategy added or removed,...
- Specified by:
registryChanged
in interface ConnectorRegistryListener
registryUpdated
public void registryUpdated()
- Description copied from interface:
ConnectorRegistryListener
- method invoked when the automatic connector loading process is finished
is invoked regardless of whether connectors were added or deleted
use registryChanged to know that.
- Specified by:
registryUpdated
in interface ConnectorRegistryListener
patchCallJoinpoints
protected void patchCallJoinpoints(Connector theconnector)
hotswapTargetClasses
protected void hotswapTargetClasses(CallJoinpoint jp)
isCall
protected boolean isCall(PCutpointConstructorApplicationDesignator des)
unpatchCallJoinpoints
protected void unpatchCallJoinpoints(Connector theconnector)
patchCallJoinpoints
protected byte[] patchCallJoinpoints(javassist.CtClass cls,
java.lang.String classname)
isLoaded
protected boolean isLoaded(java.lang.String clz)
patchCallJP
protected boolean patchCallJP(javassist.CtClass cls,
CallJoinpoint jp)
throws java.lang.Exception
- Throws:
java.lang.Exception
findNewCallMethod
protected javassist.CtMethod findNewCallMethod(javassist.CtClass clz,
javassist.CtMethod old,
java.lang.String name)
throws java.lang.Exception
- Throws:
java.lang.Exception
patchCallJP
protected boolean patchCallJP(javassist.CtMethod method,
CallJoinpoint jp)