Seeking info on JAXB and custom annotations

S

Sebastian

Does anyone know if (and how) it is possible to

a) generate Java classes with custom annotations from xsd schema, using
xjc? (The annotations would be on fields, but placing them on the
corresponding getters would be acceptable.) I have googled a bit, and
one possibiliy appears to be the annox plugin.

b) marshall/unmarshall these classes to XML and back with JAXB,
preserving the custom annotations? I have found no helpful information
on this part of the problem.

By "custom annotations" I mean non-JAXB annotations that would be
written by me.

-- Sebastian
 
A

Arne Vajhøj

Does anyone know if (and how) it is possible to

a) generate Java classes with custom annotations from xsd schema, using
xjc? (The annotations would be on fields, but placing them on the
corresponding getters would be acceptable.) I have googled a bit, and
one possibiliy appears to be the annox plugin.

What form would the annotations have in the schema?

XML schema annotations does not seem to be a good match for
Java annotations.
b) marshall/unmarshall these classes to XML and back with JAXB,
preserving the custom annotations? I have found no helpful information
on this part of the problem.

You do not marshall/unmarshall classes. You marshall/unmarshall
objects. But annotations are per class not per object.

I think clarification is needed.

Arne
 
S

Sebastian

Am 19.12.2012 02:17, schrieb Arne Vajhøj:
What form would the annotations have in the schema?

XML schema annotations does not seem to be a good match for
Java annotations.

The Annotate Plugin page has a good explanation:
http://confluence.highsource.org/display/J2B/Annotate+Plugin

See also the Annox user guide for the view that
in fact Java annotations can be elegantly expressed as XML elements.
http://confluence.highsource.org/display/ANX/User+guide

Unfortunately, I have not been able to get the plugin to work so far,
and am looking for alternative recommendations.
You do not marshall/unmarshall classes. You marshall/unmarshall
objects. But annotations are per class not per object.

I think clarification is needed.

Arne

I guess I was confused here by the fact that the XML representation of
an object generated by JAXB will not contain annotation elements, but of
course the annotation is part of the Java class that will be
instantiated when unmarshalling.

(I am talking of custom annotation available at runtime via reflection,
i. e. defined in the annotation class with
@Retention(RetentionPolicy.RUNTIME). I want to be able to inspect the
annotation on an object after it has been unmarshalled.)

-- Sebastian
 
S

Sebastian

Am 19.12.2012 12:49, schrieb Sebastian:
Am 19.12.2012 02:17, schrieb Arne Vajhøj:[snip]

Please don't bother, I retract the question. Meanwhile, I've been able
to integrate the Annotate Plugin for xjc into my maven build, and
generating the annotations works just fine.

-- Sebastian
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Staff online

Members online

Forum statistics

Threads
473,755
Messages
2,569,534
Members
45,007
Latest member
obedient dusk

Latest Threads

Top