I want to change an object just before JSON Serialization. To do it, I've created an interface, with change method, and any class that implements this interface will "try" to change itself. (yes, probably doing it like this is not optimal, but for example sake will do)
@JsonSerialize(using = ChangesValuesSerializer.class)
public interface ChangesValues {
void changeValues();
}
Now, is ChangesValuesSerializer
class I'm implementing serialize
method. And want to know, how can I say Jackson, to call it's built in serializer on object.
class ChangesValuesSerializer extends JsonSerializer<ChangesValues> {
@Override
public void serialize(ChangesValues changesValues, JsonGenerator jsonGenerator,
SerializerProvider serializerProvider) throws IOException,
JsonProcessingException {
changesValues.changeValues();
// ***
// ->> Just call Jacksons default serializer
// ***
}
}