2015-05-04 3 views
0

Я сделал обход через граф объектов, чтобы собрать все поля и их аннотации и хотел бы проверить объекты домена, созданные из XSD, на основе аннотаций.Как получить значение аннотации @XmlElement

Однако, я застрял в @XmlElement, поскольку я не знаю, как получить значение требуемого атрибута.

import javax.validation.constraints.NotNull; 
import javax.xml.bind.annotation.XmlElement; 
    public class SomeClass { 

    @XmlElement(name = "user_id", required = true) 
    @NotNull 
    protected String userId; 

    } 

Это должно быть простым, но я не могу понять, как проверить, если атрибут требуется установлена ​​истина, как только я обнаружил, что данная аннотация типа @XmlElement.

if(annotation.annotationType().equals(XmlElement.class)) { 

      // how to check value of required atrribute   
    } 
+0

Это должно сделать трюк http://stackoverflow.com/questions/4138754/getting-an-attribute-value-in -xml-element –

ответ

1

Вы можете достичь его таким образом:

// iterate over the fields in the required class. check if the annotatino is present 
if (inputField.isAnnotationPresent(XmlElement.class)) { 
    XmlElement xmlElementAnnotation = inputField.getAnnotation(XmlElement.class); 

    // get 'required' value 
    if(xmlElementAnnotation.required()) { 
     // logic 
    } 
} 
+0

спасибо, это сделало трюк – John

Смежные вопросы