@Override public HttpProtocolVersion deserialize(final JsonParser jp, final DeserializationContext ctx) throws IOException { try { return HttpProtocolVersion.versionOf(strip(jp.getText())); } catch (IllegalArgumentException e) { return (HttpProtocolVersion) ctx.handleUnexpectedToken(HttpProtocolVersion.class, jp); } } }
@Override public MessageContent deserialize(final JsonParser jp, final DeserializationContext ctx) throws IOException { JsonToken currentToken = jp.getCurrentToken(); if (currentToken == JsonToken.VALUE_STRING) { return content(strip(jp.getText())); } if (currentToken == JsonToken.START_OBJECT) { InternalMessageContent content = jp.readValueAs(InternalMessageContent.class); return content.toContent(); } return (MessageContent) ctx.handleUnexpectedToken(MessageContent.class, jp); } }
@Override public CookieContainer deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException { JsonToken currentToken = jp.getCurrentToken(); if (currentToken == JsonToken.VALUE_STRING) { return CookieContainer.newContainer(strip(jp.getText())); } if (currentToken == JsonToken.START_OBJECT) { jp.nextToken(); InternalCookieContainer container = jp.readValueAs(InternalCookieContainer.class); return container.toContainer(); } return (CookieContainer) ctxt.handleUnexpectedToken(CookieContainer.class, jp); }
public TextContainer textContainer(final JsonParser jp, final DeserializationContext ctxt) throws IOException { JsonToken currentToken = jp.getCurrentToken(); if (currentToken == JsonToken.FIELD_NAME) { String operation = strip(jp.getText()); JsonToken token = jp.nextToken(); if (isForTemplate(operation) && token == JsonToken.START_OBJECT) { Template template = jp.readValueAs(Template.class); jp.nextToken(); return template.template(); } if (token == JsonToken.VALUE_STRING) { String text = strip(jp.getText()); jp.nextToken(); return builder().withOperation(operation).withText(text).build(); } } return (TextContainer) ctxt.handleUnexpectedToken(TextContainer.class, jp); }
@Override public ProxyContainer deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException { JsonToken currentToken = jp.getCurrentToken(); if (currentToken == JsonToken.VALUE_STRING) { return builder().withUrl(strip(jp.getText())).build(); } if (currentToken == JsonToken.START_OBJECT) { InternalProxyContainer container = jp.readValueAs(InternalProxyContainer.class); return container.toProxyContainer(); } return (ProxyContainer) ctxt.handleUnexpectedToken(ProxyContainer.class, jp); }
protected TextContainer text(final JsonParser jp) throws IOException { return builder().withText(strip(jp.getText())).build(); }
@Override public FileContainer deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException { JsonToken currentToken = jp.getCurrentToken(); if (currentToken == JsonToken.VALUE_STRING) { return asFileContainer(helper.text(jp)); } if (currentToken == JsonToken.START_OBJECT) { jp.nextToken(); String target = strip(jp.getText()); if (isForFileContainer(target)) { return toFileContainer(jp); } return asFileContainer(helper.textContainer(jp, ctxt)); } return (FileContainer) ctxt.handleUnexpectedToken(FileContainer.class, jp); }
@Test public void should_strip_empty_to_empty_string() { assertThat(strip(""), is("")); }
@Test public void should_strip_null_to_empty_string() { assertThat(strip(null), is("")); }
@Override public CookieContainer deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException { JsonToken currentToken = jp.getCurrentToken(); if (currentToken == JsonToken.VALUE_STRING) { return CookieContainer.newContainer(strip(jp.getText())); } if (currentToken == JsonToken.START_OBJECT) { jp.nextToken(); InternalCookieContainer container = jp.readValueAs(InternalCookieContainer.class); return container.toContainer(); } return (CookieContainer) ctxt.handleUnexpectedToken(CookieContainer.class, jp); }
public TextContainer textContainer(final JsonParser jp, final DeserializationContext ctxt) throws IOException { JsonToken currentToken = jp.getCurrentToken(); if (currentToken == JsonToken.FIELD_NAME) { String operation = strip(jp.getText()); JsonToken token = jp.nextToken(); if (isForTemplate(operation) && token == JsonToken.START_OBJECT) { Template template = jp.readValueAs(Template.class); jp.nextToken(); return template.template(); } if (token == JsonToken.VALUE_STRING) { String text = strip(jp.getText()); jp.nextToken(); return builder().withOperation(operation).withText(text).build(); } } return (TextContainer) ctxt.handleUnexpectedToken(TextContainer.class, jp); }
@Override public ProxyContainer deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException { JsonToken currentToken = jp.getCurrentToken(); if (currentToken == JsonToken.VALUE_STRING) { return builder().withUrl(strip(jp.getText())).build(); } if (currentToken == JsonToken.START_OBJECT) { InternalProxyContainer container = jp.readValueAs(InternalProxyContainer.class); return container.toProxyContainer(); } return (ProxyContainer) ctxt.handleUnexpectedToken(ProxyContainer.class, jp); }
protected TextContainer text(final JsonParser jp) throws IOException { return builder().withText(strip(jp.getText())).build(); }
@Override public FileContainer deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException { JsonToken currentToken = jp.getCurrentToken(); if (currentToken == JsonToken.VALUE_STRING) { return asFileContainer(helper.text(jp)); } if (currentToken == JsonToken.START_OBJECT) { jp.nextToken(); String target = strip(jp.getText()); if (isForFileContainer(target)) { return toFileContainer(jp); } return asFileContainer(helper.textContainer(jp, ctxt)); } return (FileContainer) ctxt.handleUnexpectedToken(FileContainer.class, jp); }