仅对实现特定接口的类有效的 Java 注释?

Lin*_*k19 6 java annotations

我不确定是否有办法做到这一点,但我想有一个仅对实现特定接口的类有效的类注释。

注释的目的是让管理器知道它需要将该类的实例添加到其托管对象集中。因此,如果无法在编译时添加该限制,那么在运行时处理此问题的最佳模式是什么?

背景: 目前我有一个应用程序,它允许用户在 Strings[] 上执行一组预定义的操作,导致单个字符串输出,这些操作按场景分组,并且每个场景都有一个枚举,定义了这些操作,以及一个在这些枚举上有一个开关来调用单个方法(都在该类中)的类,这意味着添加单个操作涉及对代码中多个区域的更改,我想通过允许新手开发人员来提高它的可维护性只需要知道他们需要编写的单个类会将操作添加到正确的列表中并自动可用。

我决定的解决方案是拥有一个开发人员将实现的 Action 接口,然后添加一个注释以将该 Action 注册到所需的场景/场景中,隔离对创建单个类的任何新更改。

Joe*_*ckx 2

您可以使用标记接口,它或多或少是类注释的前身。如果您定义它来扩展您提到的接口,那么您可以确保用它标记的任何类也实现您的接口。

另一方面; 如果您的接口仅因该原因而存在,您可以创建规则“所有类实现此接口”。

当然,这一切都假设您可以控制创建实例的管理器。