注釈
@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
です。どうすればこれを達成できますか?