Hi,

With the recent development of the online store tutorial, we encounter quite a few issues around the transformation between POJO and other databindings (such as XML, JSON).

Let's take the POJO <--> XML as an example. Here is a set of questions to be answered.

1) Do we require the POJO to be a strict JavaBean or free-form class?

2) How to read properties from a java object?

The data in a java object can be accessed by the field or by JavaBean style getter methods. There are different strategies:

a) Always use JavaBean-style getter method
b) Always use field access
c) A combination of a & b

The other factor is the modifier of a field/method defintion. What modifiers are allowed? public, protected, default and private?

If a property only have getter method, should we dump the property into the XML? How about transient fields?

3) How to write properties to populate the target POJO instance?

a) Use JavaBean setter?
b) Use field
c) Combination of a & b

When we convert XML element back to a POJO property, how do we instantiate the property instance if the property type is an interface or abstract class?

For example,

package com.example;
public class MyBean {
   private MyInterface p1;

   public void setP1(MyInterface p1) {
       this.p1 = p1;
   }

   public MyInterface getP1() {
       return p1;
   }
}

Do we require the XML element contains xsi:type attribute which will be generated from POJO-->XML to represent the concrete property type? Such as:

<myBean xsi:type="ns1:MyBean" xmlns:ns1="http://example.com/";>
   <p1 xsi:type="ns2:MyInterface" xmlns:ns2=http://example.com//>
</myBean>

Thanks,
Raymond

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to