How can I extend my generated class from an inner static class?
For instance, I have
class Foo {
static class Bar {
}
}
And I want my generated class to be extended from Bar
JCodeModel codeModel = new JCodeModel()
JClass aClass = codeModel.ref("somePckg.Foo$Bar")
JPackage jp = codeModel._package("pckag")
JDefinedClass jc = jp._class("GeneratedClass")
jc._extends(aClass)
codeModel.build(new File("generated/"))
What I get is
import somePckg.Foo$Bar;
public class GeneratedClass extends Foo$Bar {}
But what I want is
import somePckg.Foo;
public class GeneratedClass extends Foo.Bar {}
Solution:
You should pass the class name like this:
codeModel.ref("android.support.v7.widget.RecyclerView.ViewHolder")
And CodeModel will generate
package pckg;
import somePckg.Foo.Bar;
public class GeneratedClass extends Bar {
}