com.r3corda.core.serialization / SingletonSerializeAsToken

# SingletonSerializeAsToken

`abstract class SingletonSerializeAsToken : SerializeAsToken`

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.

### Constructors

<init> | `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.

### Functions

toToken | `open fun toToken(context: SerializeAsTokenContext): SerializationToken`

### Inheritors

AbstractNode | `abstract class AbstractNode : SingletonSerializeAsToken` A base node implementation that can be customised either for production (with real implementations that do real I/O), or a mock implementation suitable for unit test environments.
AbstractNodeService | `abstract class AbstractNodeService : SingletonSerializeAsToken` Abstract superclass for services that a node can host, which provides helper functions.
ArtemisMessagingComponent | `abstract class ArtemisMessagingComponent : SingletonSerializeAsToken` The base class for Artemis services that defines shared data structures and transport configuration
E2ETestKeyManagementService | `class E2ETestKeyManagementService : SingletonSerializeAsToken, KeyManagementService` A simple in-memory KMS that doesnt bother saving keys to disk. A real implementation would:
InMemoryIdentityService | `class InMemoryIdentityService : SingletonSerializeAsToken, IdentityService` Simple identity service which caches parties and provides functionality for efficient lookup.
InMemoryNetworkMapCache | `open class InMemoryNetworkMapCache : SingletonSerializeAsToken, NetworkMapCache` Extremely simple in-memory cache of the network map.
MonitoringService | `class MonitoringService : SingletonSerializeAsToken` Provides access to various metrics and ways to notify monitoring services of things, for sysadmin purposes. This is not an interface because it is too lightweight to bother mocking out.
NodeSchedulerService | `class NodeSchedulerService : SchedulerService, SingletonSerializeAsToken` A first pass of a simple SchedulerService that works with MutableClocks for testing, demonstrations and simulations that also encompasses the Vault observer for processing transactions.
NodeSchemaService | `class NodeSchemaService : SchemaService, SingletonSerializeAsToken` Most basic implementation of SchemaService.
NodeVaultService | `class NodeVaultService : SingletonSerializeAsToken, VaultService` Currently, the node vault service is a very simple RDBMS backed implementation. It will change significantly when we add further functionality as the design for the vault and vault service matures.
NotaryService | `abstract class NotaryService : SingletonSerializeAsToken` A Notary service acts as the final signer of a transaction ensuring two things:
PersistentKeyManagementService | `class PersistentKeyManagementService : SingletonSerializeAsToken, KeyManagementService` A persistent re-implementation of E2ETestKeyManagementService to support node re-start.
PersistentUniquenessProvider | `class PersistentUniquenessProvider : UniquenessProvider, SingletonSerializeAsToken` A RDBMS backed Uniqueness provider
ProtocolLogicRefFactory | `class ProtocolLogicRefFactory : SingletonSerializeAsToken` A class for conversion to and from ProtocolLogic and ProtocolLogicRef instances.
Service | `class Service : SingletonSerializeAsToken` A service that monitors the network for requests for changing the notary of a state, and immediately runs the NotaryChangeProtocol if the auto-accept criteria are met.
Service | `class Service : SingletonSerializeAsToken` This class sets up network message handlers for requests from peers for data keyed by hash. It is a piece of simple glue that sits between the network layer and the database layer.
StorageServiceImpl | `open class StorageServiceImpl : SingletonSerializeAsToken, TxWritableStorageService`