THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Built-in | Java | .NET | C++ |
---|---|---|---|
Bitmask(n) | BitSet | BitArray | std::bitset |
Int8 | byte (Byte if nullable) | sbyte | int8_t |
Uint8 | short with range constraints | byte | uint8_t |
Int16 | short (Short if nullable) | short | int16_t |
Uint16 | int with range constratints | ushort | uint16_t |
Int32 | int (Integer if nullable) | int | int32_t |
Uint32 | long with range constratints | uint | uint32_t |
Int64 | long (Long if nullable) | long | int64_t |
Uint64 | BigInteger with range constratints | ulong | uint64_t |
Float | float (Float if nullable) | float | usually float |
Double | double (Double if nullable) | double | usually double |
Number([n]) | BigInteger | BigInteger | no analogue in standard |
Decimal | BigDecimal | decimal | no analogue in standard |
UUID | UUID | Guid | no analogue in standard |
String | String | string | std::string |
Date | LocalDate | NodaTime.LocalDate | no analogue in standard |
Time | LocalTime | NodaTime.LocalTime | no analogue in standard |
Datetime | LocalDateTime | NodaTime.LocalDateTime | no analogue in standard |
Timestamp | Date (Instant?) | NodaTime.Instant | no analogue in standard |
Binary | byte[] | byte[] | std::array<int8_t> |
Java has no native support for unsigned types. We still can introduce 'unsigned' flag to schema type or separate binary type-codes, and allow to map to the closest types of wider range. E.g. map Uint8 → short and recheck constraints during serialization.
...