org.springsource.loaded
Class CurrentLiveVersion

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

public class CurrentLiveVersion
extends java.lang.Object

Captures the information about the reloaded parts of a type that vary each time a new version is loaded.

Since:
0.5.0

Field Summary
 IncrementalTypeDescriptor incrementalTypeDescriptor
           
 boolean staticInitializedNeedsRerunningOnDefine
           
 
Constructor Summary
CurrentLiveVersion(ReloadableType reloadableType, java.lang.String versionstamp, byte[] newbytedata)
           
 
Method Summary
 void clearClassloaderLinks()
           
 void define()
          Defines this version.
 java.lang.Object getDispatcherInstance()
           
 java.lang.Class<?> getExecutorClass()
           
 java.lang.reflect.Field getExecutorField(java.lang.String name)
           
 java.lang.reflect.Method getExecutorMethod(MethodMember methodMember)
           
 MethodMember getReloadableMethod(java.lang.String name, java.lang.String descriptor)
           
 TypeDelta getTypeDelta()
           
 java.lang.String getVersionStamp()
           
 boolean hasClinit()
           
 boolean hasConstructorChanged(int ctorId)
           
 boolean hasConstructorChanged(MethodMember mm)
           
 boolean hasConstructorChanged(java.lang.String descriptor)
           
 void reloadMostRecentDispatcherAndExecutor()
           
 void runStaticInitializer()
           
 void setTypeDelta(TypeDelta td)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

incrementalTypeDescriptor

public final IncrementalTypeDescriptor incrementalTypeDescriptor

staticInitializedNeedsRerunningOnDefine

public boolean staticInitializedNeedsRerunningOnDefine
Constructor Detail

CurrentLiveVersion

public CurrentLiveVersion(ReloadableType reloadableType,
                          java.lang.String versionstamp,
                          byte[] newbytedata)
Method Detail

define

public void define()
Defines this version. Called up front but can also be called later if the ChildClassLoader in a type registry is discarded and recreated.


getReloadableMethod

public MethodMember getReloadableMethod(java.lang.String name,
                                        java.lang.String descriptor)

getExecutorMethod

public java.lang.reflect.Method getExecutorMethod(MethodMember methodMember)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getExecutorClass

public java.lang.Class<?> getExecutorClass()

getVersionStamp

public java.lang.String getVersionStamp()

getExecutorField

public java.lang.reflect.Field getExecutorField(java.lang.String name)
                                         throws java.lang.SecurityException,
                                                java.lang.NoSuchFieldException
Throws:
java.lang.SecurityException
java.lang.NoSuchFieldException

getTypeDelta

public TypeDelta getTypeDelta()

setTypeDelta

public void setTypeDelta(TypeDelta td)

hasClinit

public boolean hasClinit()

hasConstructorChanged

public boolean hasConstructorChanged(java.lang.String descriptor)

hasConstructorChanged

public boolean hasConstructorChanged(MethodMember mm)

hasConstructorChanged

public boolean hasConstructorChanged(int ctorId)

clearClassloaderLinks

public void clearClassloaderLinks()

reloadMostRecentDispatcherAndExecutor

public void reloadMostRecentDispatcherAndExecutor()

getDispatcherInstance

public java.lang.Object getDispatcherInstance()

runStaticInitializer

public void runStaticInitializer()