Java - creando una subclase dinámicamente

Me gustaría crear una subclase programáticamente. Supongo que tengo pocas opciones: Javassist, CGLib, BCEL o ASM.

El caso de uso es que las aplicaciones internas de una aplicación están orientadas a la clase, y las extensiones están basadas en la clase. Por lo tanto, no puedo tener una sola clase como base para múltiples extensiones controladas por scripts externalizados.

Ahora, ¿cómo haría eso? He encontrado ejemplos con intercepción de llamadas a métodos, acceso a campos, inicialización, etc. Pero nada sobre subclases.

Me gustaría terminar con una clase que:

Tiene un nombre que yo quiero.es una subclase (directa, en el mejor de los casos) de una clase dadacopia el (los) constructor (es) de la clase padre (o llamasuper(...))eventualmente, me gustaría darle algunas anotaciones.

Sé que es posible porque varias integraciones dinámicas de lenguajes, comoGroovyClassLoader, puedo hacer eso.

Respuestas a la pregunta(3)

Su respuesta a la pregunta