У меня есть JSON что-то вроде этого:
objects:[{
id:"p452365",
type:"photo",
link:"http://xxx.zz"
},
{
id:"v7833",
type:"video",
link:"http://xxx.yy",
length:"4.12"
}
]
В суперклассе Entity
есть 2 переменные экземпляра: id и type. В моем расширенном XmlAdapter
классе я пытался привести свои экземпляры Entity к подтипу для ex. Photo
public HashMap<String, List<Column>> unmarshal(Feeds f) throws Exception {
for(Feed feed : f.getFeeds()){
System.out.println("Entity id for feed : " + feed.getId());
for(Entity e:feed.getObjects()){
if (e instanceof Photo){
// Of course it's not
}
}
}
return (HashMap<String, List<Column>>)fm.map(f.getFeeds());
}
Конечно, это не фото, я сделал там снимок :)
Я хочу иногда вмешиваться в процесс JAXB и отменять маршалинг в соответствии со значением типа в JSON. Интересно, где и как.