Package org.springframework.cglib.core

# Interface GeneratorStrategy

All Known Implementing Classes:
  `ClassLoaderAwareGeneratorStrategy`, `DefaultGeneratorStrategy`, `UndeclaredThrowableStrategy`

public interface GeneratorStrategy
The `GeneratorStrategy` is responsible for taking a `ClassGenerator` and producing a byte array containing the data for the generated `Class`. By providing your own strategy you may examine or modify the generated class before it is loaded. Typically this will be accomplished by subclassing `DefaultGeneratorStrategy` and overriding the appropriate protected method.

See Also:
  - `AbstractClassGenerator.setStrategy(org.springframework.cglib.core.GeneratorStrategy)`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object o)`
The `GeneratorStrategy` in use does not currently, but may in the future, affect the caching of classes generated by `AbstractClassGenerator`, so this is a reminder that you should correctly implement `equals` and `hashCode` to avoid generating too many classes.
`byte[]`
`generate(ClassGenerator cg)`
Generate the class.

## Method Details

### generate

byte[] generate(ClassGenerator cg) throws Exception
Generate the class.

Parameters:
  `cg` - a class generator on which you can call `ClassGenerator.generateClass(org.springframework.asm.ClassVisitor)`
Returns:
  a byte array containing the bits of a valid Class
Throws:
  `Exception`

### equals

boolean equals(Object o)
The `GeneratorStrategy` in use does not currently, but may in the future, affect the caching of classes generated by `AbstractClassGenerator`, so this is a reminder that you should correctly implement `equals` and `hashCode` to avoid generating too many classes.

Overrides:
  `equals` in class `Object`