package com.evolveum.midpoint.prism.lex.json; import java.io.IOException; import com.evolveum.midpoint.prism.polystring.PolyString; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonToken; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; public class PolyStringDeserializer extends JsonDeserializer<PolyString>{ @Override public PolyString deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { if (jp.getCurrentToken() != JsonToken.VALUE_STRING) { throw new IllegalStateException("Cannot deserialize value. Expected string value, but is was " + jp.getCurrentToken() + ". "); } String str = jp.getText(); return new PolyString(str); } }