jasco.runtime.hotswap
Class JAsCoTransformer

java.lang.Object
  extended by jasco.runtime.hotswap.JAsCoTransformer
All Implemented Interfaces:
ConnectorRegistryListener, java.lang.instrument.ClassFileTransformer

public class JAsCoTransformer
extends java.lang.Object
implements java.lang.instrument.ClassFileTransformer, ConnectorRegistryListener


Constructor Summary
JAsCoTransformer()
           
 
Method Summary
 void addClassLoadingListener(ClassLoadingListener l)
           
protected  void addPathsToClassPath(java.lang.ClassLoader loader)
           
 void checkWhetherConnectorsAppy(java.util.Map removalMethods)
           
protected  void connectorCombStratChange()
           
protected  void cpropertyChange(Connector c)
           
protected  void doSingleMethodUnhotswap(java.util.Hashtable removalMethods)
           
protected  void fireClassLoadingEvent(javassist.CtClass clz, java.lang.String classname)
           
 java.util.Hashtable getAdaptedMethods()
           
protected  javassist.ClassPool getClassPool()
           
 JAsCoHotSwap getHotSwap()
           
 java.lang.instrument.Instrumentation getIntrumentation()
           
 TransformClassChecker getTransformChecker()
           
 void hotswaptargetClasses()
           
 void hotswaptargetClasses(Connector c)
           
 void refreshInlineCompiledMethods(Connector theconnector)
           
 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.
 void removeClassLoadingListener(ClassLoadingListener l)
           
 java.util.Map removeInlineCompiledMethods(Connector theconnector)
           
protected  byte[] removeTraps(java.lang.String classname, java.util.Vector methods)
           
 byte[] transform(java.lang.ClassLoader loader, java.lang.String className, java.lang.Class classBeingRedefined, java.security.ProtectionDomain protectionDomain, byte[] classfileBuffer)
           
 void unhotswaptargetClasses(Connector unload)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JAsCoTransformer

public JAsCoTransformer()
Method Detail

getHotSwap

public JAsCoHotSwap getHotSwap()

getTransformChecker

public TransformClassChecker getTransformChecker()

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

connectorCombStratChange

protected void connectorCombStratChange()

cpropertyChange

protected void cpropertyChange(Connector c)

doSingleMethodUnhotswap

protected void doSingleMethodUnhotswap(java.util.Hashtable removalMethods)
                                throws java.lang.Exception
Throws:
java.lang.Exception

removeTraps

protected byte[] removeTraps(java.lang.String classname,
                             java.util.Vector methods)
                      throws java.lang.Exception
Throws:
java.lang.Exception

getAdaptedMethods

public java.util.Hashtable getAdaptedMethods()

unhotswaptargetClasses

public void unhotswaptargetClasses(Connector unload)

refreshInlineCompiledMethods

public void refreshInlineCompiledMethods(Connector theconnector)

removeInlineCompiledMethods

public java.util.Map removeInlineCompiledMethods(Connector theconnector)

checkWhetherConnectorsAppy

public void checkWhetherConnectorsAppy(java.util.Map removalMethods)

hotswaptargetClasses

public void hotswaptargetClasses()
                          throws java.lang.Exception
Throws:
java.lang.Exception

hotswaptargetClasses

public void hotswaptargetClasses(Connector c)

getClassPool

protected javassist.ClassPool getClassPool()

getIntrumentation

public java.lang.instrument.Instrumentation getIntrumentation()

addClassLoadingListener

public void addClassLoadingListener(ClassLoadingListener l)

removeClassLoadingListener

public void removeClassLoadingListener(ClassLoadingListener l)

addPathsToClassPath

protected void addPathsToClassPath(java.lang.ClassLoader loader)

transform

public byte[] transform(java.lang.ClassLoader loader,
                        java.lang.String className,
                        java.lang.Class classBeingRedefined,
                        java.security.ProtectionDomain protectionDomain,
                        byte[] classfileBuffer)
Specified by:
transform in interface java.lang.instrument.ClassFileTransformer

fireClassLoadingEvent

protected void fireClassLoadingEvent(javassist.CtClass clz,
                                     java.lang.String classname)