private void deserializeIntegerValue()

in src/main/java/org/apache/uima/json/jsoncas2/ser/FeatureStructureDeserializer.java [621:643]


  private void deserializeIntegerValue(JsonParser aParser, DeserializationContext aCtxt,
          FeatureStructure aFs, Feature aFeature, FieldType fieldType)
          throws CASRuntimeException, IOException {
    switch (aFeature.getRange().getName()) {
      case TYPE_NAME_BYTE:
        aFs.setByteValue(aFeature, (byte) aParser.getValueAsInt());
        break;
      case TYPE_NAME_INTEGER:
        int value = aParser.getValueAsInt();
        value = convertOffsetsIfNecessary(aCtxt, aFs, aFeature, value, fieldType);
        aFs.setIntValue(aFeature, value);
        break;
      case TYPE_NAME_LONG:
        aFs.setLongValue(aFeature, aParser.getValueAsLong());
        break;
      case TYPE_NAME_SHORT:
        aFs.setShortValue(aFeature, (short) aParser.getValueAsInt());
        break;
      default:
        throw new JsonParseException(aParser, "Feature of type " + aFeature.getRange().getName()
                + " cannot be set from a JSON value of type " + aParser.currentToken());
    }
  }