com.fasterxml.clustermate.json.StorableKeyDeserializer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of clustermate-json Show documentation
Show all versions of clustermate-json Show documentation
Converters for ClusterMate and StoreMate datatypes,
for Jackson-based JSON serialization
(as well as other dataformats Jackson supports, like Smile)
package com.fasterxml.clustermate.json;
import java.io.IOException;
import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer;
import com.fasterxml.storemate.shared.StorableKey;
@SuppressWarnings("serial")
public class StorableKeyDeserializer extends StdScalarDeserializer
{
public StorableKeyDeserializer() {
super(StorableKey.class);
}
@Override
public StorableKey deserialize(JsonParser jp, DeserializationContext ctxt)
throws IOException, JsonProcessingException
{
switch (jp.getCurrentToken()) {
case VALUE_STRING:
case VALUE_EMBEDDED_OBJECT:
byte[] raw = jp.getBinaryValue();
return new StorableKey(raw);
default:
throw ctxt.mappingException(getValueClass(), jp.getCurrentToken());
}
}
}