注釈
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Searchable {
SearchType[] types() default { SearchType.ALL };
}
いくつかの方法での反射
Reflections reflections = new Reflections(packageName);
reflections.getFieldsAnnotatedWith(); // Here's the problem
Searchable 少なくともSearchType.ALL. _ new Searchable() { ... }このメソッドで渡すa を定義しようとしました。ただし、これは完全に一致するフィールドのみになります。例のみを含むSearchType.ALL。こちらです:
new Searchable() {
@Override public SearchType[] types() { return { SearchType.ALL }; }
@Override public Class<? extends Annotation> annotationType() { return Searchable.class; }
}
@Searchable(types = { SearchType.ALL, SearchType.TEXT })が含まれているので、 のフィールドもヒットしてほしいSearchType.ALLです。どうすればこれを達成できますか?