Доступ к бобам и аннотации - PullRequest
4 голосов
/ 02 ноября 2011

Существуют ли какие-либо библиотеки java, которые позволяют мне использовать BeanUtils, например, доступ к свойству bean.prop1.prop2, и в то же время разрешать доступ к аннотациям в самом получателе / ​​поле?

Например, у меня есть класс компонента, который выглядит какthis:

public class Child {
  @SomeCustomAnnotation
  private String name;
  //standard bean getter setters
  }

public class Parent {
  private Child child;
  //standard bean getter setters
}

И я хотел бы иметь возможность получить не только значение свойства, которое я ищу, но и любые аннотации, аннотированные для этого поля, значение которого возвращается:

String childsName = SomeLibrary.getValue(parent, "child.name");
Annotation[] annotationsOnChildsName = SomeLibrary.getAnnotations(parent, "child.name");

Существуют ли какие-либо библиотеки, которые поддерживают обе функции?Я могу использовать Commons BeanUtils для чистого доступа к свойствам для значений и Plain Reflection для получения аннотаций к свойствам, но, похоже, нет способа объединить обе способности.

1 Ответ

3 голосов
/ 02 ноября 2011

Если я что-то упустил, вы можете только отражение Поле класс

Field f = Parent.class.getField("name");
Object value = f.get(parent);
f.getAnnotations();
...