package com.github.dreamhead.moco.parser.deserializer; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonToken; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import com.github.dreamhead.moco.parser.model.TextContainer; import java.io.IOException; public class TextContainerDeserializer extends JsonDeserializer<TextContainer> { private TextContainerDeserializerHelper helper = new TextContainerDeserializerHelper(); @Override public TextContainer deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException { JsonToken currentToken = jp.getCurrentToken(); if (currentToken == JsonToken.VALUE_STRING) { return helper.text(jp); } if (currentToken == JsonToken.START_OBJECT) { jp.nextToken(); return helper.textContainer(jp, ctxt); } return (TextContainer) ctxt.handleUnexpectedToken(TextContainer.class, jp); } }