corda / net.corda.core.node.services / AttachmentStorage

AttachmentStorage

@DoNotImplement interface AttachmentStorage

An attachment store records potentially large binary objects, identified by their hash.

Functions

hasAttachment

abstract fun hasAttachment(attachmentId: AttachmentId): Boolean

Searches for an attachment already in the store

importAttachment

abstract fun importAttachment(jar: InputStream): AttachmentId

Inserts the given attachment into the store, does not close the input stream. This can be an intensive operation due to the need to copy the bytes to disk and hash them along the way.

abstract fun importAttachment(jar: InputStream, uploader: String, filename: String?): AttachmentId

Inserts the given attachment with additional metadata, see importAttachment for input stream handling Extra parameters:

importOrGetAttachment

abstract fun importOrGetAttachment(jar: InputStream): AttachmentId

Inserts or returns Attachment Id of attachment. Does not throw an exception if already uploaded.

openAttachment

abstract fun openAttachment(id: AttachmentId): Attachment?

Returns a handle to a locally stored attachment, or null if it's not known. The handle can be used to open a stream for the data, which will be a zip/jar file.

queryAttachments

abstract fun queryAttachments(criteria: AttachmentQueryCriteria, sorting: AttachmentSort? = null): List<AttachmentId>

Searches attachment using given criteria and optional sort rules

Extension Functions

contextLogger

fun Any.contextLogger(): Logger

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

Inheritors

MockAttachmentStorage

class MockAttachmentStorage : AttachmentStorage, SingletonSerializeAsToken

A mock implementation of AttachmentStorage for use within tests