jasco.runtime.hotswap
Class CallJPManager

java.lang.Object
  extended by 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)
          TODO: finish heer
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
 

Method Detail

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)
TODO: finish heer

Parameters:
theconnector -
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)