|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.objectweb.easybeans.enhancer.Enhancer
public class Enhancer
This class is used for enhancing a set of classes (Beans like Stateless, Stateful, MDB, etc).
Field Summary | |
---|---|
private EjbJarAnnotationMetadata |
ejbJarAnnotationMetadata
Metadata of the classes of a given jar file. |
private java.lang.ClassLoader |
loader
Classloader used to load/define classes. |
private static JLog |
logger
Logger. |
private java.util.Map<java.lang.String,java.lang.Object> |
map
Map containing informations for enhancers. |
Constructor Summary | |
---|---|
Enhancer(java.lang.ClassLoader loader,
EjbJarAnnotationMetadata ejbJarAnnotationMetadata,
java.util.Map<java.lang.String,java.lang.Object> map)
Creates an new enhancer. |
Method Summary | |
---|---|
static void |
defineClass(java.lang.ClassLoader loader,
java.lang.String className,
byte[] b)
Loads/defines a class in the current class loader. |
void |
enhance()
Enhance all classes which match beans, etc. |
protected void |
enhanceSuperClass(ClassAnnotationMetadata classAnnotationMetadata)
Enhance all super classes that are available. |
protected java.lang.ClassLoader |
getClassLoader()
|
protected org.objectweb.asm.ClassReader |
getClassReader(ClassAnnotationMetadata classAnnotationMetadata)
Gets a class reader for a given metadata. |
protected EjbJarAnnotationMetadata |
getEjbJarAnnotationMetadata()
|
protected java.util.Map<java.lang.String,java.lang.Object> |
getMap()
|
private static void |
loadDefinedClasses(java.lang.ClassLoader loader,
java.util.List<DefinedClass> lst)
Load defined classes in the list. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static JLog logger
private EjbJarAnnotationMetadata ejbJarAnnotationMetadata
private java.lang.ClassLoader loader
private java.util.Map<java.lang.String,java.lang.Object> map
Constructor Detail |
---|
public Enhancer(java.lang.ClassLoader loader, EjbJarAnnotationMetadata ejbJarAnnotationMetadata, java.util.Map<java.lang.String,java.lang.Object> map)
loader
- classloader where to define enhanced classes.ejbJarAnnotationMetadata
- object with references to the metadata.map
- a map allowing to give some objects to the enhancer.Method Detail |
---|
public void enhance() throws EnhancerException
EnhancerException
- if enhancing failsprotected void enhanceSuperClass(ClassAnnotationMetadata classAnnotationMetadata) throws EnhancerException
classAnnotationMetadata
- the class where to lookup super classes.
EnhancerException
- if class can't be analyzed.private static void loadDefinedClasses(java.lang.ClassLoader loader, java.util.List<DefinedClass> lst)
loader
- classloader to use.lst
- a list of new generated classes.protected org.objectweb.asm.ClassReader getClassReader(ClassAnnotationMetadata classAnnotationMetadata) throws EnhancerException
classAnnotationMetadata
- given metadata
EnhancerException
- if no classWriter can be returnedpublic static void defineClass(java.lang.ClassLoader loader, java.lang.String className, byte[] b)
loader
- classloader to use.className
- the name of the classb
- the bytecode of the class to defineprotected EjbJarAnnotationMetadata getEjbJarAnnotationMetadata()
protected java.util.Map<java.lang.String,java.lang.Object> getMap()
protected java.lang.ClassLoader getClassLoader()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |