All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jeromeloisel.db.conversion.jackson.JacksonJsonSerializer Maven / Gradle / Ivy

The newest version!
package com.jeromeloisel.db.conversion.jackson;

import static lombok.AccessLevel.PACKAGE;
import static lombok.AccessLevel.PRIVATE;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.jeromeloisel.db.conversion.api.JsonSerializer;
import com.jeromeloisel.db.entity.Entity;

import lombok.AllArgsConstructor;
import lombok.NonNull;
import lombok.experimental.FieldDefaults;


@AllArgsConstructor(access=PACKAGE)
@FieldDefaults(level=PRIVATE, makeFinal=true)
final class JacksonJsonSerializer implements JsonSerializer {
  @NonNull
  ObjectMapper mapper;
  
  @Override
  public String apply(final T t) {
    try {
      return mapper.writeValueAsString(t);
    } catch (final JsonProcessingException e) {
      throw new JacksonConversionException("Could not serialize entity=" + t.getClass(), e);
    }
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy