XStream-XML to Object

XStream-XML to Object
This commit is contained in:
ankur-singhal
2016-03-31 17:50:47 +05:30
parent c9fbff7273
commit f7594ee89c
26 changed files with 825 additions and 0 deletions
@@ -0,0 +1,46 @@
package com.baeldung.annotation.pojo;
import java.util.Date;
import com.thoughtworks.xstream.annotations.XStreamAlias;
@XStreamAlias("customer")
public class Customer {
@XStreamAlias("fn")
private String firstName;
private String lastName;
private Date dob;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public Date getDob() {
return dob;
}
public void setDob(Date dob) {
this.dob = dob;
}
@Override
public String toString() {
return "Customer [firstName=" + firstName + ", lastName=" + lastName
+ ", dob=" + dob + "]";
}
}
@@ -0,0 +1,50 @@
package com.baeldung.annotation.pojo;
import java.util.Date;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
@XStreamAlias("customer")
public class CustomerOmitField {
@XStreamOmitField
private String firstName;
private String lastName;
private Date dob;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public Date getDob() {
return dob;
}
public void setDob(Date dob) {
this.dob = dob;
}
@Override
public String toString() {
return "CustomerOmitAnnotation [firstName=" + firstName + ", lastName="
+ lastName + ", dob=" + dob + "]";
}
}
@@ -0,0 +1,46 @@
package com.baeldung.complex.pojo;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
@XStreamAlias("ContactDetails")
public class ContactDetails {
private String mobile;
private String landline;
@XStreamAsAttribute
private String contactType;
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getLandline() {
return landline;
}
public void setLandline(String landline) {
this.landline = landline;
}
public String getContactType() {
return contactType;
}
public void setContactType(String contactType) {
this.contactType = contactType;
}
@Override
public String toString() {
return "ContactDetails [mobile=" + mobile + ", landline=" + landline
+ ", contactType=" + contactType + "]";
}
}
@@ -0,0 +1,57 @@
package com.baeldung.complex.pojo;
import java.util.Date;
import java.util.List;
import com.thoughtworks.xstream.annotations.XStreamAlias;
@XStreamAlias("customer")
public class Customer {
private String firstName;
private String lastName;
private Date dob;
private List<ContactDetails> contactDetailsList;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public Date getDob() {
return dob;
}
public void setDob(Date dob) {
this.dob = dob;
}
public List<ContactDetails> getContactDetailsList() {
return contactDetailsList;
}
public void setContactDetailsList(List<ContactDetails> contactDetailsList) {
this.contactDetailsList = contactDetailsList;
}
@Override
public String toString() {
return "Customer [firstName=" + firstName + ", lastName=" + lastName
+ ", dob=" + dob + ", contactDetailsList=" + contactDetailsList
+ "]";
}
}
@@ -0,0 +1,46 @@
package com.baeldung.implicit.collection.pojo;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
@XStreamAlias("ContactDetails")
public class ContactDetails {
private String mobile;
private String landline;
@XStreamAsAttribute
private String contactType;
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getLandline() {
return landline;
}
public void setLandline(String landline) {
this.landline = landline;
}
public String getContactType() {
return contactType;
}
public void setContactType(String contactType) {
this.contactType = contactType;
}
@Override
public String toString() {
return "ContactDetails [mobile=" + mobile + ", landline=" + landline
+ ", contactType=" + contactType + "]";
}
}
@@ -0,0 +1,59 @@
package com.baeldung.implicit.collection.pojo;
import java.util.Date;
import java.util.List;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
@XStreamAlias("customer")
public class Customer {
private String firstName;
private String lastName;
private Date dob;
@XStreamImplicit
private List<ContactDetails> contactDetailsList;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public Date getDob() {
return dob;
}
public void setDob(Date dob) {
this.dob = dob;
}
public List<ContactDetails> getContactDetailsList() {
return contactDetailsList;
}
public void setContactDetailsList(List<ContactDetails> contactDetailsList) {
this.contactDetailsList = contactDetailsList;
}
@Override
public String toString() {
return "Customer [firstName=" + firstName + ", lastName=" + lastName
+ ", dob=" + dob + ", contactDetailsList=" + contactDetailsList
+ "]";
}
}
@@ -0,0 +1,19 @@
package com.baeldung.initializer;
import com.thoughtworks.xstream.XStream;
public class SimpleXstreamInitializer {
private static XStream xtreamInstance;
public static XStream getXstreamInstance() {
if (xtreamInstance == null) {
synchronized (SimpleXstreamInitializer.class) {
if (xtreamInstance == null) {
xtreamInstance = new XStream();
}
}
}
return xtreamInstance;
}
}
@@ -0,0 +1,42 @@
package com.baeldung.pojo;
import java.util.Date;
public class Customer {
private String firstName;
private String lastName;
private Date dob;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public Date getDob() {
return dob;
}
public void setDob(Date dob) {
this.dob = dob;
}
@Override
public String toString() {
return "Customer [firstName=" + firstName + ", lastName=" + lastName
+ ", dob=" + dob + "]";
}
}
@@ -0,0 +1,19 @@
package com.baeldung.utility;
import java.util.Calendar;
import com.baeldung.pojo.Customer;
public class SimpleDataGeneration {
public static Customer generateData() {
Customer customer = new Customer();
Calendar cal = Calendar.getInstance();
cal.set(1986 , 01 , 14);
customer.setDob(cal.getTime());
customer.setFirstName("Xstream");
customer.setLastName("Java");
return customer;
}
}