package fr.lyrgard.hexScape.message.json;
import java.io.IOException;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import fr.lyrgard.hexScape.message.AbstractMessage;
public class MessageJsonMapper {
private static final MessageJsonMapper INSTANCE = new MessageJsonMapper();
public static MessageJsonMapper getInstance() {
return INSTANCE;
}
private ObjectMapper mapper;
private MessageJsonMapper() {
mapper = new ObjectMapper();
mapper.registerModule(new MessageJacksonModule());
}
public AbstractMessage fromJson(String string) throws JsonParseException, JsonMappingException, IOException {
return mapper.readValue(string, AbstractMessage.class);
}
public String toJson(AbstractMessage message) throws JsonProcessingException {
return mapper.writeValueAsString(message);
}
}