Das Simpleframework stellt eine gute Alternative zur herkömmlichen XML Serialisierungsframeworks dar. Die Schwerpunkte liegen vor allem auf dem intuitiven Einsatz sowie der effizienten und einfachen Implementierung.
Eine weitere interessante Eigenschaft des Simpleframeworks ist die Möglichkeit zyklische Objektabhängigkeiten abzubilden bzw. zu persistieren. Für mich persönlich stellt es eine gute Alternative zu JAXB dar, ohne die lästigen Nebeneffekte, wie beispielsweise Versionierung und Classloaderproblematik (Endorsed Problematik).
Beispiel:
@Root
public class CustomerDB {
@ElementList
private List<Customer> customerList;
public List<Customer> getCustomers() {
return customerList;
}
public void setCustomers(List<customer> customers) {
this.customerList = customers;
}
}
public class Customer {
@Attribute
private Long id;
@Attribute
private String firstName;
@Attribute
private String secondName;
public int getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String name) {
this.name = name;
}
public String getSecondName() {
return secondName;
}
public void setSecondName(String secondName) {
this.secondName = secondName;
}
}
Serialisierung sowie Deserialisierung:
Serializer serializer = new Persister(); CustomerDB db = new CustomerDB(); Listcustomers = new ArrayList (); Customer customer = new Customer(); customer.setId(1); customer.setFirstName("Rafael"); customer.setSecondName("Sobek"); customers.add(customer); db.setCustomers(customers); File result = new File("customers.xml"); serializer.write(customers, result);
Ergebnis:
<customer id="1" firstName="Rafael" secondName="Sobek"/>
Grüße
Rafael
Technorati Tags: XML Serialisierung Deserialisierung Mapping
