Search in sources :

Example 6 with IonDecimal

use of com.amazon.ion.IonDecimal in project jackson-dataformats-binary by FasterXML.

the class IonTimestampInstantSerializerTest method testSerializationWithTypeInfo01.

@Test
public void testSerializationWithTypeInfo01() throws Exception {
    IonObjectMapper mapper = newMapperBuilder().enable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS).enable(SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS).addMixIn(Instant.class, MockObjectConfiguration.class).build();
    Instant date = Instant.ofEpochSecond(123456789L, 183917322);
    IonDecimal value = (IonDecimal) mapper.writeValueAsIonValue(date);
    assertEquals("The value is not correct.", new BigDecimal("123456789.183917322"), value.bigDecimalValue());
    assertEquals("The does does not contain the expected number of annotations.", 1, value.getTypeAnnotations().length);
    assertEquals("The does does not contain the expected annotation.", Instant.class.getName(), value.getTypeAnnotations()[0]);
}
Also used : Instant(java.time.Instant) IonDecimal(com.amazon.ion.IonDecimal) BigDecimal(java.math.BigDecimal) IonObjectMapper(com.fasterxml.jackson.dataformat.ion.IonObjectMapper) Test(org.junit.Test)

Example 7 with IonDecimal

use of com.amazon.ion.IonDecimal in project ion-java by amzn.

the class _Private_CurriedValueFactory method newDecimal.

public IonDecimal newDecimal(long value) {
    IonDecimal v = myFactory.newDecimal(value);
    handle(v);
    return v;
}
Also used : IonDecimal(com.amazon.ion.IonDecimal)

Example 8 with IonDecimal

use of com.amazon.ion.IonDecimal in project ion-java by amzn.

the class IonWriterSystemTree method writeDecimal.

@Override
public void writeDecimal(BigDecimal value) throws IOException {
    IonDecimal v = _factory.newNullDecimal();
    v.setValue(value);
    append(v);
}
Also used : IonDecimal(com.amazon.ion.IonDecimal)

Example 9 with IonDecimal

use of com.amazon.ion.IonDecimal in project amazon-qldb-dmv-sample-java by aws-samples.

the class InsertIonTypes method main.

public static void main(final String... args) {
    final IonBlob ionBlob = Constants.SYSTEM.newBlob("hello".getBytes());
    final IonBool ionBool = Constants.SYSTEM.newBool(true);
    final IonClob ionClob = Constants.SYSTEM.newClob("{{'This is a CLOB of text.'}}".getBytes());
    final IonDecimal ionDecimal = Constants.SYSTEM.newDecimal(0.1);
    final IonFloat ionFloat = Constants.SYSTEM.newFloat(0.2);
    final IonInt ionInt = Constants.SYSTEM.newInt(1);
    final IonList ionList = Constants.SYSTEM.newList(new int[] { 1, 2 });
    final IonNull ionNull = Constants.SYSTEM.newNull();
    final IonSexp ionSexp = Constants.SYSTEM.newSexp(new int[] { 2, 3 });
    final IonString ionString = Constants.SYSTEM.newString("string");
    final IonStruct ionStruct = Constants.SYSTEM.newEmptyStruct();
    ionStruct.put("brand", Constants.SYSTEM.newString("ford"));
    final IonSymbol ionSymbol = Constants.SYSTEM.newSymbol("abc");
    final IonTimestamp ionTimestamp = Constants.SYSTEM.newTimestamp(Timestamp.now());
    final IonBlob ionNullBlob = Constants.SYSTEM.newNullBlob();
    final IonBool ionNullBool = Constants.SYSTEM.newNullBool();
    final IonClob ionNullClob = Constants.SYSTEM.newNullClob();
    final IonDecimal ionNullDecimal = Constants.SYSTEM.newNullDecimal();
    final IonFloat ionNullFloat = Constants.SYSTEM.newNullFloat();
    final IonInt ionNullInt = Constants.SYSTEM.newNullInt();
    final IonList ionNullList = Constants.SYSTEM.newNullList();
    final IonSexp ionNullSexp = Constants.SYSTEM.newNullSexp();
    final IonString ionNullString = Constants.SYSTEM.newNullString();
    final IonStruct ionNullStruct = Constants.SYSTEM.newNullStruct();
    final IonSymbol ionNullSymbol = Constants.SYSTEM.newNullSymbol();
    final IonTimestamp ionNullTimestamp = Constants.SYSTEM.newNullTimestamp();
    ConnectToLedger.getDriver().execute(txn -> {
        CreateTable.createTable(txn, TABLE_NAME);
        final Document document = new Document(Constants.SYSTEM.newString("val"));
        InsertDocument.insertDocuments(txn, TABLE_NAME, Collections.singletonList(document));
        updateRecordAndVerifyType(txn, ionBlob);
        updateRecordAndVerifyType(txn, ionBool);
        updateRecordAndVerifyType(txn, ionClob);
        updateRecordAndVerifyType(txn, ionDecimal);
        updateRecordAndVerifyType(txn, ionFloat);
        updateRecordAndVerifyType(txn, ionInt);
        updateRecordAndVerifyType(txn, ionList);
        updateRecordAndVerifyType(txn, ionNull);
        updateRecordAndVerifyType(txn, ionSexp);
        updateRecordAndVerifyType(txn, ionString);
        updateRecordAndVerifyType(txn, ionStruct);
        updateRecordAndVerifyType(txn, ionSymbol);
        updateRecordAndVerifyType(txn, ionTimestamp);
        updateRecordAndVerifyType(txn, ionNullBlob);
        updateRecordAndVerifyType(txn, ionNullBool);
        updateRecordAndVerifyType(txn, ionNullClob);
        updateRecordAndVerifyType(txn, ionNullDecimal);
        updateRecordAndVerifyType(txn, ionNullFloat);
        updateRecordAndVerifyType(txn, ionNullInt);
        updateRecordAndVerifyType(txn, ionNullList);
        updateRecordAndVerifyType(txn, ionNullSexp);
        updateRecordAndVerifyType(txn, ionNullString);
        updateRecordAndVerifyType(txn, ionNullStruct);
        updateRecordAndVerifyType(txn, ionNullSymbol);
        updateRecordAndVerifyType(txn, ionNullTimestamp);
        deleteTable(txn, TABLE_NAME);
    });
}
Also used : IonList(com.amazon.ion.IonList) IonInt(com.amazon.ion.IonInt) IonNull(com.amazon.ion.IonNull) IonBool(com.amazon.ion.IonBool) IonDecimal(com.amazon.ion.IonDecimal) IonSymbol(com.amazon.ion.IonSymbol) IonStruct(com.amazon.ion.IonStruct) IonSexp(com.amazon.ion.IonSexp) IonString(com.amazon.ion.IonString) IonTimestamp(com.amazon.ion.IonTimestamp) IonBlob(com.amazon.ion.IonBlob) IonClob(com.amazon.ion.IonClob) IonFloat(com.amazon.ion.IonFloat)

Aggregations

IonDecimal (com.amazon.ion.IonDecimal)9 Test (org.junit.Test)2 BlobTest (com.amazon.ion.BlobTest)1 ClobTest (com.amazon.ion.ClobTest)1 IntTest (com.amazon.ion.IntTest)1 IonBlob (com.amazon.ion.IonBlob)1 IonBool (com.amazon.ion.IonBool)1 IonClob (com.amazon.ion.IonClob)1 IonFloat (com.amazon.ion.IonFloat)1 IonInt (com.amazon.ion.IonInt)1 IonList (com.amazon.ion.IonList)1 IonNull (com.amazon.ion.IonNull)1 IonSexp (com.amazon.ion.IonSexp)1 IonString (com.amazon.ion.IonString)1 IonStruct (com.amazon.ion.IonStruct)1 IonSymbol (com.amazon.ion.IonSymbol)1 IonTimestamp (com.amazon.ion.IonTimestamp)1 IonObjectMapper (com.fasterxml.jackson.dataformat.ion.IonObjectMapper)1 BigDecimal (java.math.BigDecimal)1 Instant (java.time.Instant)1