corda / net.corda.core.cordapp / Cordapp

Cordapp

@DoNotImplement interface Cordapp

Represents a cordapp by registering the JAR that contains it and all important classes for Corda. Instances of this class are generated automatically at startup of a node and can get retrieved from CordappProvider.getAppContext from the CordappContext it returns.

This will only need to be constructed manually for certain kinds of tests.

Types

Info

Further information about the CorDapp extracted from its MANIFEST. The sub-types Default, Contract and Workflow determine what type of CorDapp this is.

interface Info

Properties

allFlows

List of all flow classes

abstract val allFlows: List<Class<out FlowLogic<*>>>

checkpointCustomSerializers

List of serializers for checkpoints

abstract val checkpointCustomSerializers: List<CheckpointCustomSerializer<*, *>>

contractClassNames

List of contracts

abstract val contractClassNames: List<String>

cordappClasses

An exhaustive list of all classes relevant to the node within this CorDapp

abstract val cordappClasses: List<String>

customSchemas

List of custom schemas

abstract val customSchemas: Set<MappedSchema>

info

abstract val info: Info

initiatedFlows

List of initiatable flow classes

abstract val initiatedFlows: List<Class<out FlowLogic<*>>>

jarHash

Hash of the jar

abstract val jarHash: SHA256

jarPath

The path to the JAR for this CorDapp

abstract val jarPath: URL

minimumPlatformVersion

The minimum platform version this CorDapp will run on.

abstract val minimumPlatformVersion: Int

name

Cordapp name - derived from the base name of the Cordapp JAR (therefore may not be unique). This is different to Cordapp.Info.shortName which should be used instead.

abstract val name: String

rpcFlows

List of RPC initiable flows classes

abstract val rpcFlows: List<Class<out FlowLogic<*>>>

schedulableFlows

List of flows startable by the scheduler

abstract val schedulableFlows: List<Class<out FlowLogic<*>>>

serializationCustomSerializers

List of serializers

abstract val serializationCustomSerializers: List<SerializationCustomSerializer<*, *>>

serializationWhitelists

List of Corda plugin registries

abstract val serializationWhitelists: List<SerializationWhitelist>

serviceFlows

List of net.corda.core.node.services.CordaService initiable flows classes

abstract val serviceFlows: List<Class<out FlowLogic<*>>>

services

List of RPC services

abstract val services: List<Class<out SerializeAsToken>>

targetPlatformVersion

The target platform version this CorDapp was designed and tested on.

abstract val targetPlatformVersion: Int

telemetryComponents

abstract val telemetryComponents: List<Class<out TelemetryComponent>>