sealed: add release-level and Jackson 3.2.3 transcripts

09 shows which language level each sealed feature needs; 10 runs the Payment model through Jackson 3 (jars fetched and sha1-checked, not committed).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01TF9JWFvJSNm6HVzswzZU5a
This commit is contained in:
Claude
2026-09-24 12:08:23 +00:00
parent ff6130bede
commit d2c1efc2c4
9 changed files with 193 additions and 0 deletions
+50
View File
@@ -0,0 +1,50 @@
$ javac -cp jackson/lib/* jackson/JsonPayment.java && java JsonPayment (21.0.10+7-Ubuntu-124.04)
{"type":"card","last4":"4242","amount":500} -> Card[last4=4242, amount=500] equal=true fee=10
{"type":"upi","vpa":"ankur@bank","amount":500} -> Upi[vpa=ankur@bank, amount=500] equal=true fee=0
{"type":"netbanking","bank":"HDFC","amount":500} -> NetBanking[bank=HDFC, amount=500] equal=true fee=15
unknown type: InvalidTypeIdException: Could not resolve type id 'cheque' as a subtype of `JsonPayment$Payment`: known type ids = [card, netbanking, upi]
$ javac -cp jackson/lib/* jackson/JsonPayment.java && java JsonPayment (25.0.4.1+1-LTS)
{"type":"card","last4":"4242","amount":500} -> Card[last4=4242, amount=500] equal=true fee=10
{"type":"upi","vpa":"ankur@bank","amount":500} -> Upi[vpa=ankur@bank, amount=500] equal=true fee=0
{"type":"netbanking","bank":"HDFC","amount":500} -> NetBanking[bank=HDFC, amount=500] equal=true fee=15
unknown type: InvalidTypeIdException: Could not resolve type id 'cheque' as a subtype of `JsonPayment$Payment`: known type ids = [card, netbanking, upi]
$ javac -cp jackson/lib/* jackson/JsonPayment.java && java JsonPayment (27+35)
{"type":"card","last4":"4242","amount":500} -> Card[last4=4242, amount=500] equal=true fee=10
{"type":"upi","vpa":"ankur@bank","amount":500} -> Upi[vpa=ankur@bank, amount=500] equal=true fee=0
{"type":"netbanking","bank":"HDFC","amount":500} -> NetBanking[bank=HDFC, amount=500] equal=true fee=15
unknown type: InvalidTypeIdException: Could not resolve type id 'cheque' as a subtype of `JsonPayment$Payment`: known type ids = [card, netbanking, upi]
$ javac -cp jackson/lib/* jackson/JsonForgotten.java && java JsonForgotten (21.0.10+7-Ubuntu-124.04)
write : {"type":"JsonForgotten$Wallet","amount":500}
read : InvalidTypeIdException: Could not resolve type id 'wallet' as a subtype of `JsonForgotten$Payment`: known type ids = [card, upi]
$ javac -cp jackson/lib/* jackson/JsonForgotten.java && java JsonForgotten (25.0.4.1+1-LTS)
write : {"type":"JsonForgotten$Wallet","amount":500}
read : InvalidTypeIdException: Could not resolve type id 'wallet' as a subtype of `JsonForgotten$Payment`: known type ids = [card, upi]
$ javac -cp jackson/lib/* jackson/JsonForgotten.java && java JsonForgotten (27+35)
write : {"type":"JsonForgotten$Wallet","amount":500}
read : InvalidTypeIdException: Could not resolve type id 'wallet' as a subtype of `JsonForgotten$Payment`: known type ids = [card, upi]
$ javac -cp jackson/lib/* jackson/JsonNoSubTypes.java && java JsonNoSubTypes (21.0.10+7-Ubuntu-124.04)
write : {"type":"Card","amount":500}
sealed, Card : Card[amount=500]
sealed, Upi : Upi[amount=500]
sealed, Cheque: InvalidTypeIdException: Could not resolve type id 'Cheque' as a subtype of `JsonNoSubTypes$Payment`: known type ids = [Card, Upi]
plain, OpenCard: InvalidTypeIdException: Could not resolve type id 'OpenCard' as a subtype of `JsonNoSubTypes$OpenPayment`: known type ids = []
$ javac -cp jackson/lib/* jackson/JsonNoSubTypes.java && java JsonNoSubTypes (25.0.4.1+1-LTS)
write : {"type":"Card","amount":500}
sealed, Card : Card[amount=500]
sealed, Upi : Upi[amount=500]
sealed, Cheque: InvalidTypeIdException: Could not resolve type id 'Cheque' as a subtype of `JsonNoSubTypes$Payment`: known type ids = [Card, Upi]
plain, OpenCard: InvalidTypeIdException: Could not resolve type id 'OpenCard' as a subtype of `JsonNoSubTypes$OpenPayment`: known type ids = []
$ javac -cp jackson/lib/* jackson/JsonNoSubTypes.java && java JsonNoSubTypes (27+35)
write : {"type":"Card","amount":500}
sealed, Card : Card[amount=500]
sealed, Upi : Upi[amount=500]
sealed, Cheque: InvalidTypeIdException: Could not resolve type id 'Cheque' as a subtype of `JsonNoSubTypes$Payment`: known type ids = [Card, Upi]
plain, OpenCard: InvalidTypeIdException: Could not resolve type id 'OpenCard' as a subtype of `JsonNoSubTypes$OpenPayment`: known type ids = []