@Plugin(name="HotSwapClassesRedefinitionsWatcher",
testedVersions="")
public class HotSwapClassesRedefinitionsWatcherDefault
extends Object
implements HotSwapClassesRedefinitionsWatcher
We bind it to the Guice context using
toInstance() and this will inject
the required dependencies on members
("@Inject" annotated), directly.
| Modifier and Type | Field and Description |
|---|---|
protected static org.slf4j.Logger |
logger |
protected org.hotswap.agent.command.Scheduler |
scheduler
This will be called by HotSwap Agent to inject
the Scheduler instance.
|
protected static String |
THIS_CLASS_NAME |
| Constructor and Description |
|---|
HotSwapClassesRedefinitionsWatcherDefault() |
| Modifier and Type | Method and Description |
|---|---|
void |
classRedefined(Class<?> classBeingRedefined)
Listen to redefinitions of any class.
|
protected Map<Class<?>,Set<HotSwapClassesRedefinitionsListener>> |
getListenersByClassToWatch() |
protected org.hotswap.agent.command.Scheduler |
getScheduler() |
protected SpincastConfig |
getSpincastConfig() |
void |
guiceInjected()
Flag to know that dependencies
have been injected by Guice.
|
static void |
init(org.hotswap.agent.javassist.CtClass ctClass) |
protected boolean |
isGuiceInjected() |
void |
registerListener(HotSwapClassesRedefinitionsListener listener)
Add a new listener for modifications to class
redefinitions.
|
void |
removeAllListeners()
Removes all listeners.
|
void |
removeListener(HotSwapClassesRedefinitionsListener listener)
Removes a listener.
|
void |
setBoundListerns(Set<HotSwapClassesRedefinitionsListener> boundListeners)
Guice injects the bound listeners
|
protected static final org.slf4j.Logger logger
protected static final String THIS_CLASS_NAME
@Init protected org.hotswap.agent.command.Scheduler scheduler
public HotSwapClassesRedefinitionsWatcherDefault()
@Inject public void guiceInjected()
protected boolean isGuiceInjected()
protected org.hotswap.agent.command.Scheduler getScheduler()
protected SpincastConfig getSpincastConfig()
@Inject public void setBoundListerns(@Nullable Set<HotSwapClassesRedefinitionsListener> boundListeners)
protected Map<Class<?>,Set<HotSwapClassesRedefinitionsListener>> getListenersByClassToWatch()
@OnClassLoadEvent(classNameRegexp="org.spincast.plugins.hotswap.classeswatcher.HotSwapClassesRedefinitionsWatcherDefault",
events=DEFINE)
public static void init(org.hotswap.agent.javassist.CtClass ctClass)
throws org.hotswap.agent.javassist.NotFoundException,
org.hotswap.agent.javassist.CannotCompileException
org.hotswap.agent.javassist.NotFoundExceptionorg.hotswap.agent.javassist.CannotCompileExceptionpublic void registerListener(HotSwapClassesRedefinitionsListener listener)
HotSwapClassesRedefinitionsWatcherMore than one listeners can be added for the same class!
registerListener in interface HotSwapClassesRedefinitionsWatcherpublic void removeListener(HotSwapClassesRedefinitionsListener listener)
HotSwapClassesRedefinitionsWatcherremoveListener in interface HotSwapClassesRedefinitionsWatcherpublic void removeAllListeners()
HotSwapClassesRedefinitionsWatcherremoveAllListeners in interface HotSwapClassesRedefinitionsWatcher@OnClassLoadEvent(classNameRegexp=".+",
events=REDEFINE)
public void classRedefined(Class<?> classBeingRedefined)
Copyright © 2019. All rights reserved.