users@jaxb.java.net

How to get XML name of attributes?

From: Markus Karg <karg_at_quipsy.de>
Date: Tue, 10 May 2011 15:30:40 +0200

I have some JAXB classes like this one:

 

@XmlElementRoot(name = "foo")

public class Bar {

   @XmlAttribute(name = "xxx")

   public String test;

}

 

With the word "test" in my hands, I need to get "xxx".

 

In other words: How to find out into what attribute name JAXB would
marshal this property?

 

I certainly could use Reflection
(Bar.class.getMethod("test").getAnnotation(XmlAttribute.class)), but
this might get tricky in case that annotation is not given -- my code
would have to repeat the exact rules for JAXB default naming then...

 

So if someone knows some JAXB trick to get this out of the box, I would
be really happy! :-)

 

Thanks

Markus