微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决给定泛型类型的实例,如何查找实现泛型接口的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 举报,一经查实,本站将立刻删除。