Class CborEncoder
OutputStream
.-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Writes the start of an indefinite-length array.void
writeArrayStart
(int length) Writes the start of a definite-length array.void
writeBoolean
(boolean value) Writes a boolean value in canonical CBOR format.void
Writes a "break" stop-value in canonical CBOR format.void
writeByteString
(byte[] bytes) Writes a byte string in canonical CBOR-format.void
Writes the start of an indefinite-length byte string.void
writeDouble
(double value) Writes a double-precision float value in canonical CBOR format.void
writeFloat
(float value) Writes a single-precision float value in canonical CBOR format.void
writeHalfPrecisionFloat
(float value) Writes a half-precision float value in canonical CBOR format.void
writeInt
(long value) Writes a signed or unsigned integer value in canonical CBOR format, that is, tries to encode it in a little bytes as possible..void
writeInt16
(int value) Writes a signed or unsigned 16-bit integer value in CBOR format.void
writeInt32
(long value) Writes a signed or unsigned 32-bit integer value in CBOR format.void
writeInt64
(long value) Writes a signed or unsigned 64-bit integer value in CBOR format.void
writeInt8
(int value) Writes a signed or unsigned 8-bit integer value in CBOR format.void
Writes the start of an indefinite-length map.void
writeMapStart
(int length) Writes the start of a finite-length map.void
Writes anull
value in canonical CBOR format.protected void
writeSimpleType
(int majorType, int value) Encodes and writes the major type and value as a simple type.void
writeSimpleValue
(byte simpleValue) Writes a simple value, i.e., an "atom" or "constant" value in canonical CBOR format.void
writeSmallInt
(int value) Writes a signed or unsigned small (<= 23) integer value in CBOR format.protected void
writeString
(int majorType, byte[] bytes) Writes a byte string in canonical CBOR-format.void
writeTag
(long tag) Writes a semantic tag in canonical CBOR format.void
writeTextString
(String value) Writes an UTF-8 string in canonical CBOR-format.void
Writes the start of an indefinite-length UTF-8 string.protected void
writeType
(int majorType, long value) Encodes and writes the major type indicator with a given payload (length).protected void
writeUInt
(int mt, long value) Encodes and writes an unsigned integer value, that is, tries to encode it in a little bytes as possible.protected void
writeUInt16
(int mt, int value) Encodes and writes an unsigned 16-bit integer valueprotected void
writeUInt32
(int mt, int value) Encodes and writes an unsigned 32-bit integer valueprotected void
writeUInt64
(int mt, long value) Encodes and writes an unsigned 64-bit integer valueprotected void
writeUInt8
(int mt, int value) Encodes and writes an unsigned 8-bit integer valuevoid
Writes an "undefined" value in canonical CBOR format.
-
Constructor Details
-
CborEncoder
Creates a newCborEncoder
instance.- Parameters:
os
- the actual output stream to write the CBOR-encoded data to, cannot benull
.
-
-
Method Details
-
writeArrayStart
Writes the start of an indefinite-length array.After calling this method, one is expected to write the given number of array elements, which can be of any type. No length checks are performed.
After all array elements are written, one should write a single break value to end the array, seewriteBreak()
.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeArrayStart
Writes the start of a definite-length array.After calling this method, one is expected to write the given number of array elements, which can be of any type. No length checks are performed.
- Parameters:
length
- the number of array elements to write, should >= 0.- Throws:
IllegalArgumentException
- in case the given length was negative;IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeBoolean
Writes a boolean value in canonical CBOR format.- Parameters:
value
- the boolean to write.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeBreak
Writes a "break" stop-value in canonical CBOR format.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeByteString
Writes a byte string in canonical CBOR-format.- Parameters:
value
- the byte string to write, can benull
in which case a byte-string of length 0 is written.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeByteStringStart
Writes the start of an indefinite-length byte string.After calling this method, one is expected to write the given number of string parts. No length checks are performed.
After all string parts are written, one should write a single break value to end the string, seewriteBreak()
.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeDouble
Writes a double-precision float value in canonical CBOR format.- Parameters:
value
- the value to write, values fromDouble.MIN_VALUE
toDouble.MAX_VALUE
are supported.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeFloat
Writes a single-precision float value in canonical CBOR format.- Parameters:
value
- the value to write, values fromFloat.MIN_VALUE
toFloat.MAX_VALUE
are supported.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeHalfPrecisionFloat
Writes a half-precision float value in canonical CBOR format.- Parameters:
value
- the value to write, values fromFloat.MIN_VALUE
toFloat.MAX_VALUE
are supported.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeInt
Writes a signed or unsigned integer value in canonical CBOR format, that is, tries to encode it in a little bytes as possible..- Parameters:
value
- the value to write, values fromLong.MIN_VALUE
toLong.MAX_VALUE
are supported.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeInt16
Writes a signed or unsigned 16-bit integer value in CBOR format.- Parameters:
value
- the value to write, values from [-65536..65535] are supported.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeInt32
Writes a signed or unsigned 32-bit integer value in CBOR format.- Parameters:
value
- the value to write, values in the range [-4294967296..4294967295] are supported.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeInt64
Writes a signed or unsigned 64-bit integer value in CBOR format.- Parameters:
value
- the value to write, values fromLong.MIN_VALUE
toLong.MAX_VALUE
are supported.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeInt8
Writes a signed or unsigned 8-bit integer value in CBOR format.- Parameters:
value
- the value to write, values in the range [-256..255] are supported.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeMapStart
Writes the start of an indefinite-length map.After calling this method, one is expected to write any number of map entries, as separate key and value. Keys and values can both be of any type. No length checks are performed.
After all map entries are written, one should write a single break value to end the map, seewriteBreak()
.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeMapStart
Writes the start of a finite-length map.After calling this method, one is expected to write any number of map entries, as separate key and value. Keys and values can both be of any type. No length checks are performed.
- Parameters:
length
- the number of map entries to write, should >= 0.- Throws:
IllegalArgumentException
- in case the given length was negative;IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeNull
Writes anull
value in canonical CBOR format.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeSimpleValue
Writes a simple value, i.e., an "atom" or "constant" value in canonical CBOR format.- Parameters:
value
- the (unsigned byte) value to write, values from 32 to 255 are supported (though not enforced).- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeSmallInt
Writes a signed or unsigned small (<= 23) integer value in CBOR format.- Parameters:
value
- the value to write, values in the range [-24..23] are supported.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeTag
Writes a semantic tag in canonical CBOR format.- Parameters:
tag
- the tag to write, should >= 0.- Throws:
IllegalArgumentException
- in case the given tag was negative;IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeTextString
Writes an UTF-8 string in canonical CBOR-format.Note that this method is platform specific, as the given string value will be encoded in a byte array using the platform encoding! This means that the encoding must be standardized and known.
- Parameters:
value
- the UTF-8 string to write, can benull
in which case an UTF-8 string of length 0 is written.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeTextStringStart
Writes the start of an indefinite-length UTF-8 string.After calling this method, one is expected to write the given number of string parts. No length checks are performed.
After all string parts are written, one should write a single break value to end the string, seewriteBreak()
.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeUndefined
Writes an "undefined" value in canonical CBOR format.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeSimpleType
Encodes and writes the major type and value as a simple type.- Parameters:
majorType
- the major type of the value to write, denotes what semantics the written value has;value
- the value to write, values from [0..31] are supported.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeString
Writes a byte string in canonical CBOR-format.- Parameters:
majorType
- the major type of the string, should be either 0x40 or 0x60;value
- the byte string to write, can benull
in which case a byte-string of length 0 is written.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeType
Encodes and writes the major type indicator with a given payload (length).- Parameters:
majorType
- the major type of the value to write, denotes what semantics the written value has;value
- the value to write, values fromLong.MIN_VALUE
toLong.MAX_VALUE
are supported.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeUInt
Encodes and writes an unsigned integer value, that is, tries to encode it in a little bytes as possible.- Parameters:
mt
- the major type of the value to write, denotes what semantics the written value has;value
- the value to write, values fromLong.MIN_VALUE
toLong.MAX_VALUE
are supported.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeUInt16
Encodes and writes an unsigned 16-bit integer value- Parameters:
mt
- the major type of the value to write, denotes what semantics the written value has;value
- the value to write, values fromLong.MIN_VALUE
toLong.MAX_VALUE
are supported.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeUInt32
Encodes and writes an unsigned 32-bit integer value- Parameters:
mt
- the major type of the value to write, denotes what semantics the written value has;value
- the value to write, values fromLong.MIN_VALUE
toLong.MAX_VALUE
are supported.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeUInt64
Encodes and writes an unsigned 64-bit integer value- Parameters:
mt
- the major type of the value to write, denotes what semantics the written value has;value
- the value to write, values fromLong.MIN_VALUE
toLong.MAX_VALUE
are supported.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeUInt8
Encodes and writes an unsigned 8-bit integer value- Parameters:
mt
- the major type of the value to write, denotes what semantics the written value has;value
- the value to write, values fromLong.MIN_VALUE
toLong.MAX_VALUE
are supported.- Throws:
IOException
- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-