代码之家  ›  专栏  ›  技术社区  ›  Adam Morgan

泛型的代码模型窄

  •  3
  • Adam Morgan  · 技术社区  · 10 年前

    我希望生成一个新类,如下所示:

    public class QueryBuilder_QueryField
    extends AbstractQueryBuilder<QueryBuilder_QueryField>
    

    我试了一下,但并没有缩小延伸范围。。。

    JCodeModel model = new JCodeModel();
    String fqcn = packageName + "." + className;
    JDefinedClass builderClass = model._class(fqcn);
    builderClass._extends(AbstractQueryBuilder.class).narrow(builderClass);
    

    但最终却像

    public class QueryBuilder_QueryField
    extends AbstractQueryBuilder
    

    有什么想法吗?

    1 回复  |  直到 10 年前
        1
  •  3
  •   John Ericksen    10 年前

    我认为你在通过课堂之前需要缩小范围 _extends() :

    JCodeModel model = new JCodeModel();
    String fqcn = packageName + "." + className;
    JDefinedClass builderClass = model._class(fqcn);
    builderClass._extends(model.ref(AbstractQueryBuilder.class).narrow(builderClass));
    

    生成:

    public class QueryBuilder_QueryField
    extends AbstractQueryBuilder<QueryBuilder_QueryField>