Cordapp - corda

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