users@jaxb.java.net

Re: dealing with an element that isn't in your java objects?

From: Jamie <jdennis_at_ipass.net>
Date: Tue, 28 Nov 2006 14:00:37 -0500

I was sad to see that I couldn't accomplish this with an inner class
(due to the inherent constructor that inner classes get). Can you
explain a little more what you are suggesting re: a separate class and
an adapter?

Thanks!
-Jamie

Kohsuke Kawaguchi wrote:
>
> Unfortunately there's no very easy way to do this. You can write a
> separate class and use an adapter, for example, to make it work, though.
>
> Jamie wrote:
>> I have a problem I'm trying to solve where there is an element that
>> some of my object's attributes belong to but others don't in the XML,
>> but none of them do (the element does not exist) in my java object.
>>
>> Given the following POJO class:
>>
>> class Car {
>>
>> int getNumberOfDoors() {
>> return 4;
>> }
>>
>> String getColor() {
>> return "blue";
>> }
>>
>> boolean isConvertable() {
>> return false;
>> }
>> boolean isLeftHandDrive() {
>> return false;
>> }
>>
>> }
>>
>> I need to marshal out the following XML:
>>
>>
>> <Car>
>> <NumberOfDoors>4</NumberOfDoors>
>> <ExternalLooks>
>> <Color>blue</Color>
>> <Convertable>false</Convertable>
>> </ExternalLooks>
>> <LeftHandDrive>false</LeftHandDrive>
>> </Car>
>>
>> If you notice, the ExternalLooks element does not exist in my object,
>> but is specified in the schema. I'm basically looking for good ways
>> to solve this, i.e. make my XML from my current object marshal out
>> compliant with this schema.
>>
>> I'd love to hear ideas, especially if there is a "right" way to do
>> this with JAXB! :)
>
>