corda / net.corda.core.utilities / OpaqueBytesSubSequence

OpaqueBytesSubSequence

class OpaqueBytesSubSequence : ByteSequence

Class is public for serialization purposes.

Constructors

<init>

OpaqueBytesSubSequence(bytes: ByteArray, offset: Int, size: Int)

Class is public for serialization purposes.

Properties

bytes

val bytes: ByteArray

The underlying bytes. Some implementations may choose to make a copy of the underlying ByteArray for security reasons. For example, OpaqueBytes.

Inherited Properties

offset

val offset: Int

The start position of the sequence within the byte array.

size

val size: Int

The number of bytes this sequence represents.

Inherited Functions

compareTo

open fun compareTo(other: ByteSequence): Int

Compare byte arrays byte by byte. Arrays that are shorter are deemed less than longer arrays if all the bytes of the shorter array equal those in the same position of the longer array.

copy

fun copy(): ByteSequence

Copy this sequence, complete with new backing array. This can be helpful to break references to potentially large backing arrays from small sub-sequences.

copyBytes

fun copyBytes(): ByteArray

Same as copy but returns just the new byte array.

equals

open fun equals(other: Any?): Boolean

hashCode

open fun hashCode(): Int

open

fun open(): ByteArrayInputStream

Returns a ByteArrayInputStream of the bytes.

putTo

fun putTo(buffer: ByteBuffer): ByteBuffer

Write this sequence to a ByteBuffer.

slice

fun slice(start: Int = 0, end: Int = size): ByteBuffer

A new read-only ByteBuffer view of this sequence or part of it. If start or end are negative then IllegalArgumentException is thrown, otherwise they are clamped if necessary. This method cannot be used to get bytes before offset or after offset+size, and never makes a new array.

subSequence

fun subSequence(offset: Int, size: Int): ByteSequence

Create a sub-sequence of this sequence. A copy of the underlying array may be made, if a subclass overrides bytes to do so, as OpaqueBytes does.

take

fun take(n: Int): ByteSequence

Take the first n bytes of this sequence as a sub-sequence. See subSequence for further semantics.

toString

open fun toString(): String

writeTo

fun writeTo(output: OutputStream): Unit

Write this sequence to an OutputStream.

Extension Functions

contextLogger

fun Any.contextLogger(): <ERROR CLASS>

When called from a companion object, returns the logger for the enclosing class.

deserialize

fun <T : Any> ByteSequence.deserialize(serializationFactory: SerializationFactory = SerializationFactory.defaultFactory, context: SerializationContext = serializationFactory.defaultContext): T

Convenience extension method for deserializing a ByteSequence, utilising the defaults.

deserializeWithCompatibleContext

fun <T : Any> ByteSequence.deserializeWithCompatibleContext(serializationFactory: SerializationFactory = SerializationFactory.defaultFactory, context: SerializationContext = serializationFactory.defaultContext): ObjectWithCompatibleContext<T>

Additionally returns SerializationContext which was used for encoding. It might be helpful to know SerializationContext to use the same encoding in the reply.