Package javassist.tools.rmi

# Class StubGenerator

java.lang.Object
javassist.tools.rmi.StubGenerator

All Implemented Interfaces:
  `Translator`

public class StubGenerator extends Object implements 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.

## Constructor Summary

Constructors
Constructor
Description
`StubGenerator()`
Constructs a stub-code generator.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`isProxyClass(String name)`
Returns `true` if the specified class is a proxy class recorded by `makeProxyClass()`.
`boolean`
`makeProxyClass(Class<?> clazz)`
Makes a proxy class.
`void`
`onLoad(ClassPool pool, String classname)`
Does nothing.
`void`
`start(ClassPool pool)`
Initializes the object.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### StubGenerator

public StubGenerator()
Constructs a stub-code generator.

## Method Details

### start

public void start(ClassPool pool) throws NotFoundException
Initializes the object. This is a method declared in javassist.Translator.

Specified by:
  `start` in interface `Translator`
Parameters:
  `pool` - the `ClassPool` that this translator should use.
Throws:
  `NotFoundException` - if a `CtClass` cannot be found.
See Also:
  - `Translator.start(ClassPool)`

### onLoad

public void onLoad(ClassPool pool, String classname)
Does nothing. This is a method declared in javassist.Translator.

Specified by:
  `onLoad` in interface `Translator`
Parameters:
  `pool` - the `ClassPool` that this translator should use.
  `classname` - the name of the class being loaded.
See Also:
  - `Translator.onLoad(ClassPool,String)`

### isProxyClass

public boolean isProxyClass(String name)
Returns `true` if the specified class is a proxy class recorded by `makeProxyClass()`.

Parameters:
  `name` - a fully-qualified class name

### makeProxyClass

public boolean makeProxyClass(Class<?> clazz) throws CannotCompileException, NotFoundException
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`