Payment model, permits and the three modifiers, default-branch trap, generic and recursive hierarchies, visitor comparison, run-time enforcement, modules. Transcripts from JDK 21, 25 and 27. Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01TF9JWFvJSNm6HVzswzZU5a
7 lines
268 B
Java
7 lines
268 B
Java
public class NotPermitted {
|
|
sealed interface Payment permits Card, Upi {}
|
|
record Card(long amount) implements Payment {}
|
|
record Upi(long amount) implements Payment {}
|
|
record Cheque(long amount) implements Payment {} // not in the permits clause
|
|
}
|