隐式指定生成的生成器的类型

问题描述

在创建一个简明工厂时,我遇到了需要在代码的不同部分填充对象的问题。在函数的参数中传递构建器以使其成为可能。我的构建器是由龙目岛注释 @Builder 自动生成的:

@Entity
@Builder
public class Product{
     Field a;
     Field b;
}

方法看起来像这样:

processDataForFirstProduct(Data data,FirstProduct.FirstProductBuilder builder) {
    processA(data);
    processB(data);

    builder.a().b();
}

processDataForSecondProduct(Data data,SecondProduct.SecondProductBuilder builder) {
    processC(data);
    processD(data);

    builder.c().d();
}

如您所见,可以从抽象方法继承用于处理不同对象的数据的方法,并且需要具有一组不同的setter的构建器。因此,在特定的工厂方法实现中(如示例中),我想指出一种特定的工厂类型,而在粗略方法本身中,我想声明一个隐式通用类型。理想的方法签名:

abstract processDataForEntity(Data data,Entity.EntityBuilder builder);

是否可以实施?如果是这样,我应该使用的技术名称是什么?我曾与泛型一起工作,但不确定是否适合他们。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)