package com.googlecode.objectify.util.jackson;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.KeyFactory;
import java.io.IOException;
/**
* Configuring this serializer will make native datastore Key objects render as their web-safe string *when they are used as Map keys*.
*/
public class RawKeyKeySerializer extends JsonSerializer<Key> {
@Override
public void serialize(Key value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
jgen.writeFieldName(KeyFactory.keyToString(value));
}
}