[Simple-support] Problem serialzing object with lists
Brought to you by:
niallg
|
From: Frank B. <f_b...@ya...> - 2007-08-20 12:46:12
|
Hi,=0A=0Ai have created the following objects:=0A=0Apublic interface IPrefe=
rence {=0A =0A}=0A=0Apublic class TestPref1 implements IPreference {=0A =
@Element(name=3D"id")=0A private long id =3D 0;=0A =0A @Element=
(name=3D"pref1name")=0A private String name =3D "";=0A =0A /** Cre=
ates a new instance of TestPref1 */=0A public TestPref1() {=0A }=0A =
public long getId() {=0A return id;=0A }=0A public void setI=
d(long id) {=0A this.id =3D id;=0A }=0A public String getName(=
) {=0A return name;=0A }=0A public void setName(String name) {=
=0A this.name =3D name;=0A }=0A =0A}=0A=0Apublic class TestPre=
f2 implements IPreference {=0A @Element(name=3D"pref2code")=0A privat=
e String code =3D "";=0A =0A /** Creates a new instance of TestPref2 =
*/=0A public TestPref2() {=0A }=0A public String getCode() {=0A =
return code;=0A }=0A public void setCode(String code) {=0A =
this.code =3D code;=0A }=0A =0A}=0A=0A@Root(name=3D"preferencegroup=
")=0Apublic class PreferenceGroup implements IPreference {=0A @ElementLi=
st(name=3D"preferences")=0A private List<IPreference> preferences =3D nu=
ll;=0A =0A @Attribute(name=3D"groupcode")=0A private String groupC=
ode =3D "";=0A =0A public List<IPreference> getPreferences() {=0A =
return this.preferences;=0A }=0A =0A public void setPreference=
s(List<IPreference> preferences) {=0A this.preferences =3D preferenc=
es;=0A }=0A public String getGroupCode() {=0A return groupCode=
;=0A }=0A public void setGroupCode(String groupCode) {=0A this=
.groupCode =3D groupCode;=0A }=0A}=0A=0A=0Awhen trying to do the followi=
ng:=0A=0A PreferenceGroup group =3D new PreferenceGroup();=0A =
group.setGroupCode("TESTGROUP");=0A List<IPreference> preferences =
=3D new ArrayList<IPreference>();=0A TestPref1 pref1 =3D new TestPre=
f1();=0A pref1.setId(1);=0A pref1.setName("test preference 1"=
);=0A preferences.add(pref1);=0A TestPref2 pref2 =3D new Test=
Pref2();=0A pref2.setCode("TSTPRF2");=0A preferences.add(pref=
2);=0A group.setPreferences(preferences);=0A Serializer seria=
lizer =3D new Persister();=0A File result =3D new File("preferences.=
xml");=0A try {=0A serializer.write(group, result);=0A =
} catch (Exception ex) {=0A ex.printStackTrace();=0A =
}=0A=0AI get the error:=0A=0Aorg.simpleframework.xml.transform.TransformEx=
ception: Transform of class com.libesoft.rcp.preferences.test.TestPref1 not=
supported=0A at org.simpleframework.xml.transform.PackageMatcher.ma=
tch(PackageMatcher.java:88)=0A at org.simpleframework.xml.transform.=
DefaultMatcher.matchType(DefaultMatcher.java:111)=0A at org.simplefr=
amework.xml.transform.DefaultMatcher.match(DefaultMatcher.java:90)=0A =
at org.simpleframework.xml.transform.Transformer.write(Transformer.java:1=
29)=0A at org.simpleframework.xml.load.PrimitiveFactory.getText(Prim=
itiveFactory.java:128)=0A at org.simpleframework.xml.load.Primitive.=
write(Primitive.java:200)=0A at org.simpleframework.xml.load.Primiti=
veList.write(PrimitiveList.java:157)=0A at org.simpleframework.xml.l=
oad.Composite.writeElement(Composite.java:589)=0A at org.simpleframe=
work.xml.load.Composite.writeElements(Composite.java:485)=0A at org.=
simpleframework.xml.load.Composite.write(Composite.java:423)=0A at o=
rg.simpleframework.xml.load.Composite.write(Composite.java:401)=0A a=
t org.simpleframework.xml.load.Traverser.write(Traverser.java:186)=0A =
at org.simpleframework.xml.load.Traverser.write(Traverser.java:165)=0A =
at org.simpleframework.xml.load.Traverser.write(Traverser.java:143)=0A=
at org.simpleframework.xml.load.Persister.write(Persister.java:608)=
=0A at org.simpleframework.xml.load.Persister.write(Persister.java:5=
90)=0A at org.simpleframework.xml.load.Persister.write(Persister.jav=
a:571)=0A at org.simpleframework.xml.load.Persister.write(Persister.=
java:687)=0A at org.simpleframework.xml.load.Persister.write(Persist=
er.java:669)=0A at org.simpleframework.xml.load.Persister.write(Pers=
ister.java:650)=0A at org.simpleframework.xml.load.Persister.write(P=
ersister.java:629)=0A=0A=0AAny ideas what i am doing wrong????=0A=0AThanks=
=0A=0AFrank
|