ShuttleCargo

@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class ShuttleCargo

Marks a class as eligible for transport by Shuttle. The Shuttle compiler plugin automatically injects ShuttleCargoData (and transitively java.io.Serializable) into the annotated class at compile time. No explicit supertype declaration is required from consumers.

Usage:

@ShuttleCargo
class MyModel(val id: String, val data: ByteArray)