net.corda.core.flows

## Package net.corda.core.flows

### Types

AppContext | `data class AppContext` This is just some way to track what attachments need to be in the class loader, but may later include some app properties loaded from the attachments. And perhaps the authenticated user for an API call?
FlowLogic | `abstract class FlowLogic<out T>` A sub-class of FlowLogic implements a flow using direct, straight line blocking code. Thus you can write complex flow logic in an ordinary fashion, without having to think about callbacks, restarting after a node crash, how many instances of your flow there are running and so on.
FlowLogicRef | `data class FlowLogicRef` A class representing a FlowLogic instance which would be possible to safely pass out of the contract sandbox.
FlowLogicRefFactory | `class FlowLogicRefFactory : SingletonSerializeAsToken` A class for conversion to and from FlowLogic and FlowLogicRef instances.
FlowStateMachine | `interface FlowStateMachine<R>` A FlowStateMachine instance is a suspendable fiber that delegates all actual logic to a FlowLogic instance. For any given flow there is only one PSM, even if that flow invokes subflows.
StateMachineRunId | `data class StateMachineRunId`

### Exceptions

FlowSessionException | `class FlowSessionException : Exception`
IllegalFlowLogicException | `class IllegalFlowLogicException : IllegalArgumentException`