V projektu
carshare-domain, package
com.carshare.domain.dto jsou tři třídy
- User - veškeré informace o uživateli
- UserLogin - jednoduchá třída pro přihlášení uživatele
- UserUpdate - rozšiření User o heslo (protože standartně nechceme posílat heslo společně s info o uživateli, nicméně (např. pro registraci uživatele, změnu údajů) heslo zadat potřebujeme
Jsou to třídy se kterými pracuje
carshare-service, třídy které očekává a které vrací v odpovědích. Settry a gettry jsou oanotovány anotacemi
@Deserializable a
@Serializable. Ty slouží serializerům a deserializerům, aby věděli co a jak kam zapisovat a číst při serializaci/deserializaci objektů.
Pro serializaci jedné instance z těchto tříd do XML pak stačí:
XmlSerializer serializer = new XmlSerializer();
AutoSerializer.factory(entity, serializer).serialize();
String output = serializer.getResult();
kde entity, je instance kterou chceme serializovat. Pro serializaci kolekce objektů pak:
XmlSerializer serializer = new XmlSerializer();
AutoSerializer.factory(rootName, recordName, entities, serializer).serialize();
String output = serializer.getResult();
kde rootName je název XML elementu, který bude celou kolekci obalovat, recordName je název XML elementu, který bude obalovat jednu instanci (pokud zůstane nevyplněny-nebo null-pak se použije název elementu definovaný nad třídy pomocí @Serializable) a entities je kolekce entit k serializaci.
Všechny výše zmíněné třídy pro IO práci jsou v knihovně neptuo-service, která je v svn v references/lib. Stačí ji tedy nalinkovat do projektu. Nemá zrovna moc valnou dokumentaci, na to prostě čas nebyl, nicméně tohle by mělo fungovat bez problémů a když ne, tak se ptejte.