// Path: src/main/java/de/fesere/hypermedia/cj/model/DataEntry.java
// public interface DataEntry<T> {
//     String getName();
// 
//     String getPrompt();
// 
//     T getValue();
// 
//     String buildQueryRepresentation();
// }


import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.module.SimpleModule;
import de.fesere.hypermedia.cj.model.DataEntry;
package de.fesere.hypermedia.cj.serialization;


public class ObjectMapperConfig {

    public ObjectMapper getConfiguredObjectMapper() {
        ObjectMapper mapper = new ObjectMapper();
        mapper.registerModule(new WrapperModule());
        mapper.enable(SerializationFeature.INDENT_OUTPUT);

        return mapper;
    }

    public static class WrapperModule extends SimpleModule {
        public WrapperModule() {
            addSerializer(Wrapper.class, new WrapperSerializer());
            addDeserializer(Wrapper.class, new WrapperDeserializer());
// Path: src/main/java/de/fesere/hypermedia/cj/model/DataEntry.java
// public interface DataEntry<T> {
//     String getName();
// 
//     String getPrompt();
// 
//     T getValue();
// 
//     String buildQueryRepresentation();
// }


// Path: src/main/java/de/fesere/hypermedia/cj/serialization/ObjectMapperConfig.java
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.module.SimpleModule;
import de.fesere.hypermedia.cj.model.DataEntry;

package de.fesere.hypermedia.cj.serialization;


public class ObjectMapperConfig {

    public ObjectMapper getConfiguredObjectMapper() {
        ObjectMapper mapper = new ObjectMapper();
        mapper.registerModule(new WrapperModule());
        mapper.enable(SerializationFeature.INDENT_OUTPUT);

        return mapper;
    }

    public static class WrapperModule extends SimpleModule {
        public WrapperModule() {
            addSerializer(Wrapper.class, new WrapperSerializer());
            addDeserializer(Wrapper.class, new WrapperDeserializer());
            addSerializer(DataEntry.class, new DataEntrySerializer());