Ahoj, dekuji, ale asi tam to reseni nevidim. Ja to mam nejak takto.
Base
public interface Base {
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "@type")
}
Player.classpublic class Player {
private final Inventory inventory;
public Player() {
this.inventory = new Inventory(inventoryDAO.getData());
....
}
}
Inventory.classpublic class Inventory implements Base {
private List<ItemData> items = new ArrayList<>();
...
}
ItemData.classpublic class ItemData implements Base {
private String itemName;
private double wieght;
...
public String getName() {
return itemName;
}
public String getWeight() {
return weight;
}
}
A pak mam jeste tridu ktera mi pobira instance trid ktere chci poslat na klienta. To mam v celku fajn, jen jak vracim data zpet na server (uz upravene o nejakou hodnotu, napriklad ta pozice) tak se mi vytvori nova instance ItemData kde jsou ty data z JSONu. Ale toto reseni se mi nelibi. Uz jen to ze musim mit novoun instanci tridy, pak porovnat dve instance (tu puvodni v Playerovem inventari a tu novou co se vytvorila na zaklade JSONu) , overit na serveru ze tento udaj si JSON nevycucal z prstu a muze ji takto zmenit a pak az provest zmenu. Mozna to v tvem zpusobu je ale asi jsem to pak nepochopil.