24 lines
772 B
Java
24 lines
772 B
Java
|
|
package com.quantai.trader.persistence;
|
||
|
|
|
||
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||
|
|
import com.quantai.trader.domain.TraderException;
|
||
|
|
import com.quantai.trader.enums.TraderErrorCode;
|
||
|
|
|
||
|
|
public class TraderJsonCodec {
|
||
|
|
private final ObjectMapper objectMapper;
|
||
|
|
|
||
|
|
public TraderJsonCodec(ObjectMapper objectMapper) {
|
||
|
|
this.objectMapper = objectMapper;
|
||
|
|
}
|
||
|
|
|
||
|
|
public String toJson(Object value) {
|
||
|
|
try {
|
||
|
|
return objectMapper.writeValueAsString(value);
|
||
|
|
} catch (JsonProcessingException exception) {
|
||
|
|
throw new TraderException(TraderErrorCode.TRADER_PERSISTENCE_FAILED,
|
||
|
|
"failed to serialize trader persistence payload");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|