Example usage for com.fasterxml.jackson.core JsonToken VALUE_NUMBER_INT

List of usage examples for com.fasterxml.jackson.core JsonToken VALUE_NUMBER_INT

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonToken VALUE_NUMBER_INT.

Prototype

JsonToken VALUE_NUMBER_INT

To view the source code for com.fasterxml.jackson.core JsonToken VALUE_NUMBER_INT.

Click Source Link

Document

VALUE_NUMBER_INT is returned when an integer numeric token is encountered in value context: that is, a number that does not have floating point or exponent marker in it (consists only of an optional sign, followed by one or more digits)

Usage

From source file:com.tikinou.schedulesdirect.core.jackson.deser.BooleanYNDeserializer.java

@Override
public Boolean deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    JsonToken t = jp.getCurrentToken();//from  w w w. j  a v  a2s . c  o m
    if (t == JsonToken.VALUE_TRUE) {
        return Boolean.TRUE;
    }
    if (t == JsonToken.VALUE_FALSE) {
        return Boolean.FALSE;
    }
    if (t == JsonToken.VALUE_NULL) {
        return null;
    }
    if (t == JsonToken.VALUE_NUMBER_INT) {
        return (jp.getIntValue() != 0);
    }
    if (t == JsonToken.VALUE_STRING) {
        String text = jp.getText().trim();
        if ("true".equals(text)) {
            return Boolean.TRUE;
        }
        if ("false".equals(text) || text.length() == 0) {
            return Boolean.FALSE;
        }

        if ("N".equalsIgnoreCase(text) || text.length() == 0) {
            return Boolean.FALSE;
        }

        if ("Y".equalsIgnoreCase(text)) {
            return Boolean.TRUE;
        }
        throw ctxt.weirdStringException(text, Boolean.class, "only \"true\" or \"false\" recognized");
    }
    // Otherwise, no can do:
    throw ctxt.mappingException(Boolean.class);
}

From source file:com.inversoft.json.ZonedDateTimeDeserializer.java

@Override
public ZonedDateTime deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    JsonToken t = jp.getCurrentToken();//from w  w w.j a  v a 2 s.c o  m
    long value;
    if (t == JsonToken.VALUE_NUMBER_INT || t == JsonToken.VALUE_NUMBER_FLOAT) {
        value = jp.getLongValue();
    } else if (t == JsonToken.VALUE_STRING) {
        String str = jp.getText().trim();
        if (str.length() == 0) {
            return null;
        }

        try {
            value = Long.parseLong(str);
        } catch (NumberFormatException e) {
            throw ctxt.mappingException(handledType());
        }
    } else {
        throw ctxt.mappingException(handledType());
    }

    return ZonedDateTime.ofInstant(Instant.ofEpochMilli(value), ZoneOffset.UTC);
}

From source file:de.taimos.dvalin.interconnect.model.DateTimeDeserializerWithTZ.java

@Override
public DateTime deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
    JsonToken t = jp.getCurrentToken();/*from   w ww.  java  2 s  . co m*/
    if (t == JsonToken.VALUE_NUMBER_INT) {
        return new DateTime(jp.getLongValue(), DateTimeZone.forTimeZone(ctxt.getTimeZone()));
    }
    if (t == JsonToken.VALUE_STRING) {
        String str = jp.getText().trim();
        if (str.length() == 0) { // [JACKSON-360]
            return null;
        }
        // catch serialized time zones
        if ((str.charAt(str.length() - 6) == '+') || (str.charAt(str.length() - 1) == 'Z')
                || (str.charAt(str.length() - 6) == '-')) {
            return new DateTime(str);
        }
        return new DateTime(str, DateTimeZone.forTimeZone(ctxt.getTimeZone()));
    }
    ctxt.handleUnexpectedToken(this.handledType(), jp);
    // never reached
    return null;
}

From source file:com.spotify.docker.client.jackson.UnixTimestampDeserializer.java

@Override
public Date deserialize(final JsonParser parser, final DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    final JsonToken token = parser.getCurrentToken();
    if (token == JsonToken.VALUE_STRING) {
        final String str = parser.getText().trim();
        return toDate(Long.parseLong(str));
    } else if (token == JsonToken.VALUE_NUMBER_INT) {
        return toDate(parser.getLongValue());
    }/*  w  w  w .  j  av a2 s .c  o m*/
    throw ctxt.wrongTokenException(parser, JsonToken.VALUE_STRING, "Expected a string or numeric value");
}

From source file:com.basistech.rosette.dm.jackson.array.MorphoAnalysisListArrayDeserializer.java

@Override
public List<MorphoAnalysis> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
    if (jp.getCurrentToken() != JsonToken.START_ARRAY) {
        throw ctxt.wrongTokenException(jp, JsonToken.START_ARRAY, "Expected array of items");
    }//w  ww . j av a  2  s  .co  m
    List<MorphoAnalysis> results = Lists.newArrayList();
    MorphoAnalysisTypes type = MorphoAnalysisTypes.PLAIN;
    while (jp.nextToken() != JsonToken.END_ARRAY) {
        if (jp.getCurrentToken() == JsonToken.VALUE_NUMBER_INT) {
            type = MorphoAnalysisTypes.byOrdinal(jp.getIntValue());
            jp.nextToken();
        }
        results.add(jp.readValueAs(type.getMorphoAnalysisClass()));
    }
    return ImmutableList.copyOf(results);
}

From source file:com.turn.shapeshifter.AutoSerializerTest.java

@Test
public void testSerialize() throws Exception {
    Movie movie = Movie.newBuilder().setTitle("Rebel Without A Cause").setYear(1955).build();
    JsonNode result = new AutoSerializer(Movie.getDescriptor()).serialize(movie, ReadableSchemaRegistry.EMPTY);

    Assert.assertTrue(result.isObject());
    Assert.assertEquals(JsonToken.VALUE_STRING, result.get("title").asToken());
    Assert.assertEquals("Rebel Without A Cause", result.get("title").asText());
    Assert.assertEquals(JsonToken.VALUE_NUMBER_INT, result.get("year").asToken());
    Assert.assertEquals(1955, result.get("year").asInt());
}

From source file:org.hbz.oerworldmap.JsonDecoder.java

private void handleValue(final JsonToken currentToken, final String key)
        throws IOException, JsonParseException {
    {/*www . j av a  2s .  c o m*/
        if (JsonToken.VALUE_STRING == currentToken || JsonToken.VALUE_NUMBER_INT == currentToken
                || JsonToken.VALUE_NUMBER_FLOAT == currentToken) {
            final String value = this.jsonParser.getText();
            JsonDecoder.LOG.debug("key=" + key + " value=" + value);
            getReceiver().literal(key, value);
        }
    }
}

From source file:dk.dma.navnet.messages.TextMessageReader.java

public int takeInt() throws IOException {
    if (jp.nextToken() != JsonToken.VALUE_NUMBER_INT) {
        throw new IOException("Expected an integer, but was '" + jp.getText() + "'");
    }//from  www  .ja v  a 2s  .  co  m
    return jp.getIntValue();
}

From source file:ch.rasc.wampspring.message.WelcomeMessage.java

public WelcomeMessage(JsonParser jp) throws IOException {
    super(WampMessageType.WELCOME);

    if (jp.nextToken() != JsonToken.VALUE_STRING) {
        throw new IOException();
    }// w  w w  .  j a v a 2  s  .  c  o m
    this.sessionId = jp.getValueAsString();

    if (jp.nextToken() != JsonToken.VALUE_NUMBER_INT) {
        throw new IOException();
    }
    this.protocolVersion = jp.getValueAsInt();

    if (jp.nextToken() != JsonToken.VALUE_STRING) {
        throw new IOException();
    }
    this.serverIdent = jp.getValueAsString();

}

From source file:dk.dma.navnet.messages.TextMessageReader.java

public long takeLong() throws IOException {
    if (jp.nextToken() != JsonToken.VALUE_NUMBER_INT) {
        throw new IOException("Expected an long, but was '" + jp.getText() + "'");
    }/*  w  w  w  .j a v a  2 s.c o m*/
    return jp.getLongValue();
}