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

lambdify.aws.jackson.JacksonAwsClientJsonSerializer Maven / Gradle / Ivy

The newest version!
package lambdify.aws.jackson;

import java.io.IOException;
import java.util.List;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lambdify.aws.client.core.http.AwsClientJsonSerializer;
import lombok.*;
import lombok.experimental.Accessors;

/**
 *
 */
@Accessors(fluent = true)
public class JacksonAwsClientJsonSerializer implements AwsClientJsonSerializer {

	@Setter
	static ObjectMapper objectMapper = JacksonConf.DEFAULT_INSTANCE;

	@Override
	public String serialize( Object object ) {
		try {
			return objectMapper.writeValueAsString( object );
		} catch ( JsonProcessingException e ) {
			throw new IllegalStateException( e );
		}
	}

	@Override
	public byte[] serializeAsBytes(Object object) {
		try {
			return objectMapper.writeValueAsBytes( object );
		} catch ( JsonProcessingException e ) {
			throw new IllegalStateException( e );
		}
	}

	@Override
	public  T deserialize(String input, Class clazz) {
		try {
			return objectMapper.readValue( input, clazz );
		} catch ( IOException e ) {
			throw new IllegalStateException( e );
		}
	}

	@Override
	public  List deserializeAsList(String input, Class aClass) {
		try {
			val javaType = objectMapper.getTypeFactory().constructCollectionType(List.class, aClass);
			return objectMapper.readValue(input, javaType);
		} catch ( IOException e ) {
			throw new IllegalStateException( e );
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy