Package org.xipki.apppackage.cbor
Class CborEncoder
java.lang.Object
org.xipki.apppackage.cbor.CborEncoder
Provides an encoder capable of encoding data into CBOR format to a given
OutputStream.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidwriteArrayStart(int length) Writes the start of a definite-length array.voidwriteBoolean(boolean value) Writes a boolean value in canonical CBOR format.voidwriteByteString(byte[] bytes) Writes a byte string in canonical CBOR-format.voidwriteInt(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.voidWrites anullvalue in canonical CBOR format.protected voidwriteSimpleType(int majorType, int value) Encodes and writes the major type and value as a simple type.protected voidwriteString(int majorType, byte[] bytes) Writes a byte string in canonical CBOR-format.voidwriteTextString(String value) Writes an UTF-8 string in canonical CBOR-format.protected voidwriteType(int majorType, long value) Encodes and writes the major type indicator with a given payload (length).protected voidwriteUInt(int mt, long value) Encodes and writes an unsigned integer value, that is, tries to encode it in a little bytes as possible.protected voidwriteUInt16(int mt, int value) Encodes and writes an unsigned 16-bit integer valueprotected voidwriteUInt32(int mt, int value) Encodes and writes an unsigned 32-bit integer valueprotected voidwriteUInt64(int mt, long value) Encodes and writes an unsigned 64-bit integer valueprotected voidwriteUInt8(int mt, int value) Encodes and writes an unsigned 8-bit integer value
-
Constructor Details
-
CborEncoder
Creates a newCborEncoderinstance.- Parameters:
os- the actual output stream to write the CBOR-encoded data to, cannot benull.
-
-
Method Details
-
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.
-
writeByteString
Writes a byte string in canonical CBOR-format.- Parameters:
bytes- the byte string to write, can benullin 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.
-
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_VALUEtoLong.MAX_VALUEare supported.- Throws:
IOException- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-
writeNull
Writes anullvalue in canonical CBOR format.- Throws:
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 benullin 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.
-
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;bytes- the byte string to write, can benullin 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_VALUEtoLong.MAX_VALUEare 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_VALUEtoLong.MAX_VALUEare 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_VALUEtoLong.MAX_VALUEare 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_VALUEtoLong.MAX_VALUEare 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_VALUEtoLong.MAX_VALUEare 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_VALUEtoLong.MAX_VALUEare supported.- Throws:
IOException- in case of I/O problems writing the CBOR-encoded value to the underlying output stream.
-