net.corda.core.serialization
Keywords: net.corda.core.serialization package
Date: 2023-09-18

# Package net.corda.core.serialization

- Interface Summary
  Interface | Description
  --- | ---
  CheckpointCustomSerializer<OBJ,PROXY> | Allows CorDapps to provide custom serializers for classes that do not serialize successfully during a checkpoint. In this case, a proxy serializer can be written that implements this interface whose purpose is to move between unserializable types and an intermediate representation.
  ClassWhitelist |
  CustomSerializationScheme |
  EncodingWhitelist |
  SerializationContext | Parameters to serialization and deserialization.
  SerializationCustomSerializer<OBJ,PROXY> | Allows CorDapps to provide custom serializers for third party libraries where those libraries cannot be recompiled with the -parameters flag rendering their classes natively serializable by Corda. In this case a proxy serializer can be written that extends this type whose purpose is to move between those an unserializable types and an intermediate representation.
  SerializationEncoding |
  SerializationSchemeContext | This is used to pass information into `interface CustomSerializationScheme` about how the object should be (de)serialized. This context can change depending on the specific circumstances in the node when (de)serialization occurs.
  SerializationToken | This represents a token in the serialized stream for an instance of a type that implements `interface SerializeAsToken`.
  SerializationWhitelist | Provide a subclass of this via the java.util.ServiceLoader mechanism to be able to whitelist types for serialisation that you cannot otherwise annotate. The name of the class must appear in a text file on the classpath under the path META-INF/services/net.corda.core.serialization.SerializationWhitelist
  SerializeAsToken | This interface should be implemented by classes that want to substitute a token representation of themselves if they are serialized because they have a lot of internal state that does not serialize (well).
  SerializeAsTokenContext | A context for mapping SerializationTokens to/from SerializeAsTokens.

- Class Summary
  Class | Description
  --- | ---
  ObjectWithCompatibleContext<T> |
  SerializationAPIKt |
  SerializationDefaults | Global singletons to be used as defaults that are injected elsewhere (generally, in the node or in RPC client).
  SerializationFactory | An abstraction for serializing and deserializing objects, with support for versioning of the wire format via a header / prefix in the bytes.
  SerializedBytes<T> | A type safe wrapper around a byte array that contains a serialised object. You can call SerializedBytes.deserialize to get the original object back.
  SingletonSerializationToken | A class representing a `interface SerializationToken` for some object that is not serializable but can be looked up (when deserialized) via just the class name.
  SingletonSerializeAsToken | A base class for implementing large objects / components / services that need to serialize themselves to a string token to indicate which instance the token is a serialized form of.

- Enum Summary
  Enum | Description
  --- | ---
  ContextPropertyKeys | Set of well known properties that may be set on a serialization context. This doesn't preclude others being set that aren't keyed on this enumeration, but for general use properties adding a well known key here is preferred.

- Exception Summary
  Exception | Description
  --- | ---
  MissingAttachmentsException | Thrown during deserialization to indicate that an attachment needed to construct the WireTransaction is not found.
  MissingAttachmentsRuntimeException |