ImmutableClassSerializer |
class ImmutableClassSerializer<T : Any> Serializes properties and deserializes by using the constructor. This assumes that all backed properties are set via the constructor and the class is immutable. |
OpaqueBytes |
open class OpaqueBytes A simple class that wraps a byte array and makes the equals/hashCode/toString methods work as you actually expect. In an ideal JVM this would be a value type and be completely overhead free. Project Valhalla is adding such functionality to Java, but it wont arrive for a few years yet |
SerializedBytes |
class SerializedBytes<T : Any> : OpaqueBytes A type safe wrapper around a byte array that contains a serialised object. You can call SerializedBytes.deserialize to get the original object back. |
SerializedBytesSerializer |
object SerializedBytesSerializer A serialiser that avoids writing the wrapper class to the byte stream, thus ensuring SerializedBytes is a pure type safety hack. |
WireTransactionSerializer |
object WireTransactionSerializer A serialisation engine that knows how to deserialise code inside a sandbox |
MissingAttachmentsException |
class MissingAttachmentsException : Exception Thrown during deserialisation to indicate that an attachment needed to construct the WireTransaction is not found |
kotlin.ByteArray |
ATTACHMENT_STORAGE |
val ATTACHMENT_STORAGE: String |
THREAD_LOCAL_KRYO |
val THREAD_LOCAL_KRYO: <ERROR CLASS> Serialization utilities, using the Kryo framework with a custom serialiser for immutable data classes and a dead simple, totally non-extensible binary (sub)format. |
attachmentStorage |
var <ERROR CLASS>.attachmentStorage: AttachmentStorage? |
createKryo |
fun createKryo(k: <ERROR CLASS> = Kryo()): <ERROR CLASS> |
deserialize |
fun <T : Any> OpaqueBytes.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): T fun SerializedBytes<WireTransaction>.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): WireTransaction fun <T : Any> SerializedBytes<T>.deserialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): T |
serialize |
fun <T : Any> T.serialize(kryo: <ERROR CLASS> = THREAD_LOCAL_KRYO.get()): SerializedBytes<T> Can be called on any object to convert it to a byte array (wrapped by SerializedBytes), regardless of whether the type is marked as serializable or was designed for it (so be careful) |
useClassLoader |
fun <T> <ERROR CLASS>.useClassLoader(cl: ClassLoader, body: () -> T): T |