Package javassist.tools.rmi
Class StubGenerator
java.lang.Object
javassist.tools.rmi.StubGenerator
- All Implemented Interfaces:
Translator
A stub-code generator. It is used for producing a proxy class.
The proxy class for class A is as follows:
public class A implements Proxy, Serializable { private ObjectImporter importer; private int objectId; public int _getObjectId() { return objectId; } public A(ObjectImporter oi, int id) { importer = oi; objectId = id; } ... the same methods that the original class A declares ... }
Instances of the proxy class is created by an
ObjectImporter
object.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addMethods
(CtClass proxy, Method[] ms) boolean
isProxyClass
(String name) Returnstrue
if the specified class is a proxy class recorded bymakeProxyClass()
.boolean
makeProxyClass
(Class<?> clazz) Makes a proxy class.private void
modifySuperclass
(CtClass orgclass) Adds a default constructor to the super classes.void
Does nothing.private CtClass
produceProxyClass
(CtClass orgclass, Class<?> orgRtClass) void
Initializes the object.private CtClass
private CtClass[]
-
Field Details
-
fieldImporter
- See Also:
-
fieldObjectId
- See Also:
-
accessorObjectId
- See Also:
-
sampleClass
- See Also:
-
classPool
-
proxyClasses
-
forwardMethod
-
forwardStaticMethod
-
proxyConstructorParamTypes
-
interfacesForProxy
-
exceptionForProxy
-
-
Constructor Details
-
StubGenerator
public StubGenerator()Constructs a stub-code generator.
-
-
Method Details
-
start
Initializes the object. This is a method declared in javassist.Translator.- Specified by:
start
in interfaceTranslator
- Parameters:
pool
- theClassPool
that this translator should use.- Throws:
NotFoundException
- if aCtClass
cannot be found.- See Also:
-
onLoad
Does nothing. This is a method declared in javassist.Translator.- Specified by:
onLoad
in interfaceTranslator
- Parameters:
pool
- theClassPool
that this translator should use.classname
- the name of the class being loaded.- See Also:
-
isProxyClass
Returnstrue
if the specified class is a proxy class recorded bymakeProxyClass()
.- Parameters:
name
- a fully-qualified class name
-
makeProxyClass
Makes a proxy class. The produced class is substituted for the original class.- Parameters:
clazz
- the class referenced through the proxy class.- Returns:
false
if the proxy class has been already produced.- Throws:
CannotCompileException
NotFoundException
-
produceProxyClass
private CtClass produceProxyClass(CtClass orgclass, Class<?> orgRtClass) throws CannotCompileException, NotFoundException -
toCtClass
- Throws:
NotFoundException
-
toCtClass
- Throws:
NotFoundException
-
addMethods
private void addMethods(CtClass proxy, Method[] ms) throws CannotCompileException, NotFoundException -
modifySuperclass
Adds a default constructor to the super classes.
-