public interface Translator
Loader
.
The users can define a class implementing this
interface and attach an instance of that class to a
Loader
object so that it can translate a class file
when the class file is loaded into the JVM.Modifier and Type | Method and Description |
---|---|
void |
onLoad(ClassPool pool,
java.lang.String classname)
Is invoked by a
Loader for notifying that
a class is loaded. |
void |
start(ClassPool pool)
Is invoked by a
Loader for initialization
when the object is attached to the Loader object. |
void start(ClassPool pool) throws NotFoundException, CannotCompileException
Loader
for initialization
when the object is attached to the Loader
object.
This method can be used for getting (for caching) some
CtClass
objects that will be accessed
in onLoad()
in Translator
.pool
- the ClassPool
that this translator
should use.NotFoundException
- if a CtClass
cannot be found.CannotCompileException
- if the initialization by this method
fails.Loader
void onLoad(ClassPool pool, java.lang.String classname) throws NotFoundException, CannotCompileException
Loader
for notifying that
a class is loaded. The Loader
calls
pool.get(classname).toBytecode()to read the class file after
onLoad()
returns.
classname
may be the name of a class
that has not been created yet.
If so, onLoad()
must create that class so that
the Loader
can read it after onLoad()
returns.
pool
- the ClassPool
that this translator
should use.classname
- the name of the class being loaded.NotFoundException
- if a CtClass
cannot be found.CannotCompileException
- if the code transformation
by this method fails.Loader
Javassist, a Java-bytecode translator toolkit.
Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.