org.springsource.loaded
Class ExecutorBuilder

java.lang.Object
  extended by org.springsource.loaded.ExecutorBuilder

public class ExecutorBuilder
extends java.lang.Object

The executor embodies the new implementation of the type after it has been reloaded.

The executor is the class full of static methods that looks very like the original class.

Methods. For each method in the original type we have a method in the executor, it has the same SourceFile attribute and the same local variable and line number details for debugging to work. Note the first variable will have been renamed from 'this' to 'thiz' to prevent the eclipse debugger crashing. All annotations from the new version will be copied to the methods on an executor.

Fields. Fields are copied into the executor but only so that there is a place to hang the annotations off (so that they can be accessed through reflection).

Constructors. Constructors are added to the executor as ___init___ methods, with the invokespecials within them transformed, either removed if they are calls to Object. or mutated into ___init___ calls on the supertype instance.

Since:
0.5.0

Method Summary
 byte[] createFor(ReloadableType reloadableType, java.lang.String versionstamp, TypeDescriptor typeDescriptor, byte[] newVersionData)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

createFor

public byte[] createFor(ReloadableType reloadableType,
                        java.lang.String versionstamp,
                        TypeDescriptor typeDescriptor,
                        byte[] newVersionData)