package it.inaf.oats.vospace.datamodel; import com.fasterxml.jackson.databind.util.StdConverter; import net.ivoa.xml.vospace.v2.Node; /** * Fills the type field at the end of the JSON deserialization. * Node implementations must be annotated with * @JsonDeserialize(converter = NodeTypeAdder..class) */ public class NodeTypeSetter extends StdConverter { @Override public T convert(T node) { node.setType("vos:" + node.getClass().getSimpleName()); return node; } public static class UnstructuredDataNode extends NodeTypeSetter { } public static class StructuredDataNode extends NodeTypeSetter { } public static class ContainerNode extends NodeTypeSetter { } public static class LinkNode extends NodeTypeSetter { } }