@Module public class EnhancerFixup extends java.lang.Object
DynamicClassLoaders can be chained creating one virtual class loader. From the perspective of the JDK, it's all one classloader. Internally, the class loader chain searches like a classpath.
Constructor and Description |
---|
EnhancerFixup() |
Modifier and Type | Method and Description |
---|---|
void |
addEnhancer(ClassEnhancer enhancer)
Adds a class enhancer.
|
protected void |
cleanExtConstantPool(java.lang.String className,
JavaClass extClass)
Cleans the ext constant pool, renaming
|
protected void |
fixup(java.lang.String className,
java.lang.String extClassName) |
JavaClassLoader |
getJavaClassLoader()
Returns the parsed class loader.
|
Path |
getPostWorkPath()
Gets the work path.
|
Path |
getPreWorkPath()
Gets the work path.
|
Path |
getWorkPath()
Gets the work path.
|
protected void |
mergeClasses(java.lang.String className,
JavaClass baseClass,
JavaClass extClass)
Merges the two classes.
|
protected void |
mergeClasses(java.lang.String className,
Path targetPath,
Path extPath)
Merges the two classes.
|
protected void |
mergeClasses(java.lang.String className,
Path targetPath,
Path sourcePath,
Path extPath)
Merges the two classes.
|
protected void |
postEnhance(JavaClass baseClass)
After enhancement fixup.
|
protected void |
renameExtSuperMethods(java.lang.String className,
JavaClass baseClass,
JavaClass extClass)
Renamed the super() methods
|
protected void |
renameSubClass(java.lang.String className,
Path targetPath,
Path extPath)
Merges the two classes.
|
void |
setClassLoader(DynamicClassLoader loader)
Sets the class loader.
|
void |
setJavaClassLoader(JavaClassLoader jClassLoader)
Returns the parsed class loader.
|
void |
setWorkPath(Path workPath)
Sets the work path.
|
public void setClassLoader(DynamicClassLoader loader)
public void setJavaClassLoader(JavaClassLoader jClassLoader)
public JavaClassLoader getJavaClassLoader()
public Path getWorkPath()
public void setWorkPath(Path workPath)
public final Path getPreWorkPath()
public final Path getPostWorkPath()
public void addEnhancer(ClassEnhancer enhancer)
protected void fixup(java.lang.String className, java.lang.String extClassName) throws java.lang.Exception
java.lang.Exception
protected void renameSubClass(java.lang.String className, Path targetPath, Path extPath) throws java.lang.Exception
java.lang.Exception
protected void renameExtSuperMethods(java.lang.String className, JavaClass baseClass, JavaClass extClass) throws java.lang.Exception
java.lang.Exception
protected void mergeClasses(java.lang.String className, Path targetPath, Path sourcePath, Path extPath) throws java.lang.Exception
java.lang.Exception
protected void mergeClasses(java.lang.String className, Path targetPath, Path extPath) throws java.lang.Exception
java.lang.Exception
protected void postEnhance(JavaClass baseClass) throws java.lang.Exception
java.lang.Exception
protected void mergeClasses(java.lang.String className, JavaClass baseClass, JavaClass extClass) throws java.lang.Exception
java.lang.Exception
protected void cleanExtConstantPool(java.lang.String className, JavaClass extClass) throws java.lang.Exception
java.lang.Exception