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

com.morpheusdata.model.serializers.ModelCollectionAsIdsOnlySerializer Maven / Gradle / Ivy

package com.morpheusdata.model.serializers;

import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
import com.morpheusdata.model.MorpheusModel;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedHashMap;

public class ModelCollectionAsIdsOnlySerializer extends StdSerializer> {

	// must have empty constructor
	public ModelCollectionAsIdsOnlySerializer() {this(null);}

	public ModelCollectionAsIdsOnlySerializer(Class> t) {super(t);}

	@Override
	public void serialize(Collection values, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider) throws IOException {
		Collection> idsMap = new ArrayList<>();

		Iterator iterator = values.iterator();

		while(iterator.hasNext()) {
			LinkedHashMap idMap = new LinkedHashMap<>();
			idMap.put("id", iterator.next().getId());

			idsMap.add(idMap);
		}

		gen.writeObject(idsMap);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy