@ApplicationScoped public class AppClassLoader extends java.lang.ClassLoader implements ControllerClassMetaInfoHolder, CommanderClassMetaInfoHolder, MailerClassMetaInfoHolder, AppService<AppClassLoader>, ActClassLoader
The top level class loader to load a specific application classes into JVM
Destroyable.Util| Modifier and Type | Field and Description |
|---|---|
protected CommanderClassMetaInfoManager |
commanderInfo |
protected ControllerClassMetaInfoManager |
controllerInfo |
protected JobClassMetaInfoManager |
jobInfo |
protected MailerClassMetaInfoManager |
mailerInfo |
protected Metric |
metric |
protected SimpleBean.MetaInfoManager |
simpleBeanInfo |
| Constructor and Description |
|---|
AppClassLoader(App app) |
| Modifier and Type | Method and Description |
|---|---|
App |
app() |
AppClassLoader |
app(App app) |
protected byte[] |
appBytecode(java.lang.String name) |
protected byte[] |
appBytecode(java.lang.String name,
boolean loadFromSource) |
protected byte[] |
bytecode(java.lang.String name) |
protected byte[] |
bytecode(java.lang.String name,
boolean compileSource) |
ClassInfoRepository |
classInfoRepository() |
CommanderClassMetaInfo |
commanderClassMetaInfo(java.lang.String commanderClassName) |
CommanderClassMetaInfoManager |
commanderClassMetaInfoManager() |
ControllerClassMetaInfo |
controllerClassMetaInfo(java.lang.String controllerClassName) |
ControllerClassMetaInfoManager |
controllerClassMetaInfoManager() |
java.lang.Class<?> |
defineClass(java.lang.String name,
byte[] b,
int off,
int len,
boolean resolve) |
void |
destroy() |
void |
detectChanges() |
protected byte[] |
enhance(java.lang.String className,
byte[] bytecode) |
protected static boolean |
enhanceEligible(java.lang.String name) |
boolean |
isDestroyed() |
boolean |
isSourceClass(java.lang.String className) |
JobClassMetaInfo |
jobClassMetaInfo(java.lang.String jobClassName) |
JobClassMetaInfoManager |
jobClassMetaInfoManager() |
protected byte[] |
loadAppClassFromDisk(java.lang.String name) |
protected java.lang.Class<?> |
loadClass(java.lang.String name,
boolean resolve) |
java.lang.Class<?> |
loadedClass(java.lang.String name) |
MailerClassMetaInfo |
mailerClassMetaInfo(java.lang.String className) |
MailerClassMetaInfoManager |
mailerClassMetaInfoManager() |
protected void |
preload() |
protected void |
preloadClasses() |
protected void |
preloadClassFile(java.io.File base,
java.io.File file) |
protected void |
releaseResources() |
protected void |
scan() |
protected void |
scanByteCode(java.lang.Iterable<java.lang.String> classes,
org.osgl.Osgl.Function<java.lang.String,byte[]> bytecodeProvider)
This method implement a event listener based scan process: First loop: through all cached bytecode.
|
java.lang.Class<? extends java.lang.annotation.Annotation> |
scope() |
SimpleBean.MetaInfoManager |
simpleBeanInfoManager() |
SimpleBean.MetaInfo |
simpleBeanMetaInfo(java.lang.String className) |
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSignersprotected ControllerClassMetaInfoManager controllerInfo
protected MailerClassMetaInfoManager mailerInfo
protected CommanderClassMetaInfoManager commanderInfo
protected JobClassMetaInfoManager jobInfo
protected SimpleBean.MetaInfoManager simpleBeanInfo
protected Metric metric
@Inject public AppClassLoader(App app)
public final boolean isDestroyed()
isDestroyed in interface Destroyablepublic java.lang.Class<? extends java.lang.annotation.Annotation> scope()
scope in interface Destroyablepublic AppClassLoader app(App app)
app in interface AppHolder<AppClassLoader>public final App app()
app in interface AppHolder<AppClassLoader>public final void destroy()
destroy in interface Destroyablepublic ClassInfoRepository classInfoRepository()
classInfoRepository in interface ActClassLoaderprotected void releaseResources()
public void detectChanges()
public ControllerClassMetaInfo controllerClassMetaInfo(java.lang.String controllerClassName)
controllerClassMetaInfo in interface ControllerClassMetaInfoHolderpublic ControllerClassMetaInfoManager controllerClassMetaInfoManager()
public CommanderClassMetaInfo commanderClassMetaInfo(java.lang.String commanderClassName)
commanderClassMetaInfo in interface CommanderClassMetaInfoHolderpublic CommanderClassMetaInfoManager commanderClassMetaInfoManager()
public SimpleBean.MetaInfoManager simpleBeanInfoManager()
public MailerClassMetaInfo mailerClassMetaInfo(java.lang.String className)
mailerClassMetaInfo in interface MailerClassMetaInfoHolderpublic MailerClassMetaInfoManager mailerClassMetaInfoManager()
public JobClassMetaInfo jobClassMetaInfo(java.lang.String jobClassName)
public JobClassMetaInfoManager jobClassMetaInfoManager()
public SimpleBean.MetaInfo simpleBeanMetaInfo(java.lang.String className)
public boolean isSourceClass(java.lang.String className)
public java.lang.Class<?> loadedClass(java.lang.String name)
loadedClass in interface ActClassLoaderprotected java.lang.Class<?> loadClass(java.lang.String name,
boolean resolve)
throws java.lang.ClassNotFoundException
loadClass in class java.lang.ClassLoaderjava.lang.ClassNotFoundExceptionprotected void scan()
protected void scanByteCode(java.lang.Iterable<java.lang.String> classes,
org.osgl.Osgl.Function<java.lang.String,byte[]> bytecodeProvider)
This method implement a event listener based scan process:
protected void preload()
protected void preloadClasses()
protected void preloadClassFile(java.io.File base,
java.io.File file)
protected byte[] loadAppClassFromDisk(java.lang.String name)
public java.lang.Class<?> defineClass(java.lang.String name,
byte[] b,
int off,
int len,
boolean resolve)
protected byte[] enhance(java.lang.String className,
byte[] bytecode)
protected byte[] appBytecode(java.lang.String name)
protected byte[] appBytecode(java.lang.String name,
boolean loadFromSource)
protected byte[] bytecode(java.lang.String name)
protected byte[] bytecode(java.lang.String name,
boolean compileSource)
protected static boolean enhanceEligible(java.lang.String name)
Copyright © 2014–2017 ActFramework. All rights reserved.