Indicates that a type has controller semantics.
Formally:
- It is final, or all of its subtypes are guaranteed to have controller semantics.
- It is at least shallowly immutable.
- It might not have reliable
equals
, hashCode
,
or toString
implementations.
- It interacts with input and/or output.
- It has no interaction with locks or concurrency mechanisms whatsoever.