org.objectweb.speedo.generation.enhancer.pc
Class PersistentClassEnhancer

java.lang.Object
  extended by org.objectweb.speedo.generation.lib.AbstractGeneratorComponent
      extended by org.objectweb.speedo.generation.enhancer.common.AbstractEnhancerComponent
          extended by org.objectweb.speedo.generation.enhancer.pc.PersistentClassEnhancer
All Implemented Interfaces:
GeneratorComponent
Direct Known Subclasses:
JDOPersistentClassEnhancer

public class PersistentClassEnhancer
extends AbstractEnhancerComponent

Enhances a set of Java classes.

Author:
S.Chassande-Barrioz

Field Summary
static java.lang.String LOGGER_NAME
           
 
Fields inherited from class org.objectweb.speedo.generation.enhancer.common.AbstractEnhancerComponent
isSrcJar
 
Fields inherited from class org.objectweb.speedo.generation.lib.AbstractGeneratorComponent
debug, logger, personality, scp
 
Constructor Summary
PersistentClassEnhancer(Personality p)
           
 
Method Summary
protected  org.objectweb.asm.ClassVisitor getFirstVisitors(org.objectweb.asm.ClassWriter cw, org.objectweb.util.monolog.api.Logger log, java.lang.String classToWrite, java.util.Map ctx)
           
protected  org.objectweb.asm.ClassVisitor getParentVisitors(org.objectweb.asm.ClassVisitor current, org.objectweb.util.monolog.api.Logger log, java.lang.String classToWrite, SpeedoClass sc, java.util.Map ctx)
           
 java.lang.String getSummary()
           
 java.lang.String getTitle()
           
protected  org.objectweb.asm.ClassVisitor getVisitors(org.objectweb.asm.ClassVisitor current, org.objectweb.util.monolog.api.Logger log, java.lang.String classToWrite, SpeedoClass sc, java.util.Map ctx)
           
 boolean init()
          Initializes this PersistentClassEnhancer
 void process()
          Loads all binary classes described by the Object Model and applies revelant modification to each of them.
 
Methods inherited from class org.objectweb.speedo.generation.enhancer.common.AbstractEnhancerComponent
loadJavaClass, loadJavaClass, writeJavaClass
 
Methods inherited from class org.objectweb.speedo.generation.lib.AbstractGeneratorComponent
getLogger, getSpeedoCompilerParameter, setLogger, setSpeedoCompilerParameter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOGGER_NAME

public static final java.lang.String LOGGER_NAME
See Also:
Constant Field Values
Constructor Detail

PersistentClassEnhancer

public PersistentClassEnhancer(Personality p)
Method Detail

init

public boolean init()
Initializes this PersistentClassEnhancer

Specified by:
init in interface GeneratorComponent
Specified by:
init in class AbstractGeneratorComponent
Returns:
boolean value indicating if the process method can be called.

getTitle

public java.lang.String getTitle()
Specified by:
getTitle in interface GeneratorComponent
Overrides:
getTitle in class AbstractGeneratorComponent
Returns:
a short string (less than 30 characters) representing the title of the component. This string must indicate job of the component.

getSummary

public java.lang.String getSummary()
Specified by:
getSummary in interface GeneratorComponent
Overrides:
getSummary in class AbstractGeneratorComponent
Returns:
a short string (less than 50 characters) summarizing the job of component (ex: how many files generated or compiled, ...)

process

public void process()
             throws SpeedoException
Loads all binary classes described by the Object Model and applies revelant modification to each of them.

Specified by:
process in interface GeneratorComponent
Specified by:
process in class AbstractGeneratorComponent
Throws:
SpeedoException - if the component initialization fails

getFirstVisitors

protected org.objectweb.asm.ClassVisitor getFirstVisitors(org.objectweb.asm.ClassWriter cw,
                                                          org.objectweb.util.monolog.api.Logger log,
                                                          java.lang.String classToWrite,
                                                          java.util.Map ctx)

getParentVisitors

protected org.objectweb.asm.ClassVisitor getParentVisitors(org.objectweb.asm.ClassVisitor current,
                                                           org.objectweb.util.monolog.api.Logger log,
                                                           java.lang.String classToWrite,
                                                           SpeedoClass sc,
                                                           java.util.Map ctx)

getVisitors

protected org.objectweb.asm.ClassVisitor getVisitors(org.objectweb.asm.ClassVisitor current,
                                                     org.objectweb.util.monolog.api.Logger log,
                                                     java.lang.String classToWrite,
                                                     SpeedoClass sc,
                                                     java.util.Map ctx)