KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
When I'm designing immutable objects, case classes are incredibly handy because of the auto-generated copy method. But case classes have their own problems: they shouldn't be inherited from and they give you an extractor even if you don't want one. So sometimes I have to use a garden-variety Scala class. The problem is that then I have to write my own immutable API, which can be pretty repetitive: class Debt(principalBalance: Double, name: String, endDate: LocalDate) { def withNewPrincipalBalance(bal: Double) = new Debt(bal, name, endDate) } Is there a more scalable way to do this? Is there a compiler plugin I can use?
Tags (comma-separated)
Save Edits
Cancel