@Override public BigInteger getBigIntegerValue() throws IOException { return reader.bigIntegerValue(); }
@Override public Number getNumberValue() throws IOException { NumberType numberType = getNumberType(); if (numberType == null) { throw new SdkClientException(String.format("Unable to get number value for non-numeric token %s", reader.getType())); } switch (numberType) { case BIG_DECIMAL: return reader.bigDecimalValue(); case BIG_INTEGER: return reader.bigIntegerValue(); case DOUBLE: return reader.doubleValue(); default: throw new SdkClientException(String.format("Unable to get number value for number type %s", numberType)); } }
@Override public BigInteger getBigIntegerValue() throws IOException { return reader.bigIntegerValue(); }
@Override public Number getNumberValue() throws IOException { NumberType numberType = getNumberType(); if (numberType == null) { throw new SdkClientException(String.format("Unable to get number value for non-numeric token %s", reader.getType())); } switch (numberType) { case BIG_DECIMAL: return reader.bigDecimalValue(); case BIG_INTEGER: return reader.bigIntegerValue(); case DOUBLE: return reader.doubleValue(); default: throw new SdkClientException(String.format("Unable to get number value for number type %s", numberType)); } }
@Override public BigInteger getBigIntegerValue() { return reader.bigIntegerValue(); }
@Override public BigInteger getBigIntegerValue() { return reader.bigIntegerValue(); }
@Override public BigInteger getBigIntegerValue() throws IOException { return reader.bigIntegerValue(); }
@Override public BigInteger getBigIntegerValue() throws IOException { return _reader.bigIntegerValue(); }
@Override public NumberType getNumberType() throws IOException { IonType type = _reader.getType(); if (type != null) { // Hmmh. Looks like Ion gives little bit looser definition here; // harder to pin down exact type. But let's try some checks still. switch (type) { case DECIMAL: // Could be float, double or big decimal; hard to check, let's choose doubel return NumberType.DOUBLE; case INT: // TODO: It would be good if IonReader directly told us which type to use. BigInteger i = _reader.bigIntegerValue(); if ((i.compareTo(LONG_MIN_VALUE) < 0) || (i.compareTo(LONG_MAX_VALUE) > 0)) { return NumberType.BIG_INTEGER; } else if ((i.compareTo(INT_MIN_VALUE) < 0) || (i.compareTo(INT_MAX_VALUE) > 0)) { return NumberType.LONG; } else { return NumberType.INT; } case FLOAT: return NumberType.DOUBLE; default: } } return null; }
break; case INT: writeInt(reader.bigIntegerValue()); if (_debug_on) System.out.print("i"); break;
@Override public Number getNumberValue() { NumberType numberType = getNumberType(); if (numberType == null) { throw SdkClientException.builder() .message(String.format("Unable to get number value for non-numeric token %s", reader.getType())) .build(); } switch (numberType) { case BIG_DECIMAL: return reader.bigDecimalValue(); case BIG_INTEGER: return reader.bigIntegerValue(); case DOUBLE: return reader.doubleValue(); default: throw SdkClientException.builder() .message(String.format("Unable to get number value for number type %s", numberType)) .build(); } }
@Override public Number getNumberValue() { NumberType numberType = getNumberType(); if (numberType == null) { throw SdkClientException.builder() .message(String.format("Unable to get number value for non-numeric token %s", reader.getType())) .build(); } switch (numberType) { case BIG_DECIMAL: return reader.bigDecimalValue(); case BIG_INTEGER: return reader.bigIntegerValue(); case DOUBLE: return reader.doubleValue(); default: throw SdkClientException.builder() .message(String.format("Unable to get number value for number type %s", numberType)) .build(); } }
@Override public Number getNumberValue() throws IOException { NumberType numberType = getNumberType(); if (numberType == null) { throw new SdkClientException(String.format("Unable to get number value for non-numeric token %s", reader.getType())); } switch (numberType) { case BIG_DECIMAL: return reader.bigDecimalValue(); case BIG_INTEGER: return reader.bigIntegerValue(); case DOUBLE: return reader.doubleValue(); default: throw new SdkClientException(String.format("Unable to get number value for number type %s", numberType)); } }
break; case BIG_INTEGER: final BigInteger bigIntegerValue = reader.bigIntegerValue(); writeInt(bigIntegerValue); break;
break; case INT: v = _valueFactory.newInt(_reader.bigIntegerValue()); break; case FLOAT:
v = newInt(reader.bigIntegerValue()); break; case FLOAT:
break; case INT: writeInt(reader.bigIntegerValue()); if (_debug_on) System.out.print("i"); break;
break; case INT: writeInt(reader.bigIntegerValue()); if (_debug_on) System.out.print("i"); break;
break; case BIG_INTEGER: final BigInteger bigIntegerValue = reader.bigIntegerValue(); writeInt(bigIntegerValue); break;
break; case BIG_INTEGER: final BigInteger bigIntegerValue = reader.bigIntegerValue(); writeInt(bigIntegerValue); break;