给定泛型类型的实例,如何查找实现泛型接口的Java类?

问题描述

我正在一个具有一系列“ Rule”类(CustomerRuleVolumeRuleTimeRule等)的项目中工作。这些类是自动生成的,不应从其生成的形式进行修改

要处理这些规则,我有一系列实现以下接口的“ RuleProcessor”类(CustomerRuleProcessorVolumeRuleProcessor等):

public interface RuleProcessor<T extends Rule> {
   T apply(T rule,EvaluationInput input);
}

实现如下:

public class CustomerRuleProcessor implements RuleProcessor<CustomerRule> {...}

最后,规则类本身被分组在一起,并作为JSON存储在数据库中。因此,可以将多个不同类型的规则存储在一起,以作为一组进行处理。检索后,我将拥有一个List<? extends Rule>,它将进行流处理和处理。

我的问题是这个

  • 给出一个具体的类(例如CustomerRule),有没有办法找到实现RuleProcessor<CustomerRule>接口的处理类?

我知道我可以使用命名约定并使用class.getName() + "Processor"。但是我想知道是否有更好,更优雅的解决方案。

解决方法

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

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

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