@Deserializable(name="app-info")
public class AppInfo {
...
@Deserializable(name="app-name")
public void setAppName(String appName) {
...
}
@Deserializable(name="hello")
public void setHello(String hello) {
...
}
@Deserializable(name="version")
public void setVersion(String version) {
...
}
}
Malá poznámka, načítaná třída musí bez parametrický konstruktor. Ze vstupního streamu získáme následující XML soubor:
<carshare generated="1320506363699">
</carshare>
Pro vytvoření instance AppInfo nejprve musíme definovat AutoDeserializerItem, což je jednoduchá třída, která doplňuje informace získané příme ze třídy AppInfo
AutoDeserializerItem appInfoItem = new AutoDeserializerItem(
"app-info",
null,
AppInfo.class
);
První parametr kořenový element, od kterého se má deserializer snažit načítat daný tip (pro složitější vstupní data je pak možné načítat různé objekty z různých částí vstupu). Druhý parametr je pak třída pro načítání kolencí (v tomto případě se nevyužívá), poslední je pak třída, která se má načítat (AppInfo.class).
AutoDeserializer
.factory(new XmlDeserializer(), input, appInfoItem)
.deserialize();
Tento řádek pak zpracuje vstupní stream (parametr input) za pooužití XmlDeserializeru (první parametr). Načtenou instanci pak lze získat pomocí
appInfoItem.getItem();
Která vrací načtený objekt (nutno přetypovat na požadovaný objekt). Pokud by jsme chtěli načátat kolekci objektů, pak nám načtenou kolekci vrátí:
appInfoItem.getCollection();
Tolik ke zpracování vstupu.
Žádné komentáře:
Okomentovat